CN101273355B - 企业计划系统中的更新处理 - Google Patents

企业计划系统中的更新处理 Download PDF

Info

Publication number
CN101273355B
CN101273355B CN200680035601XA CN200680035601A CN101273355B CN 101273355 B CN101273355 B CN 101273355B CN 200680035601X A CN200680035601X A CN 200680035601XA CN 200680035601 A CN200680035601 A CN 200680035601A CN 101273355 B CN101273355 B CN 101273355B
Authority
CN
China
Prior art keywords
node
activity
renewal
computation model
value collection
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
CN200680035601XA
Other languages
English (en)
Other versions
CN101273355A (zh
Inventor
J·E·帕特森
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101273355A publication Critical patent/CN101273355A/zh
Application granted granted Critical
Publication of CN101273355B publication Critical patent/CN101273355B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

企业计划系统(12)以如下方式累积最近提交的计划数据:最小化数据库(14)争用,允许进行中的计划数据输入,并允许在累积进行时对该数据进行查询以返回一致结果。“更新处理”是使整个数据存储器以最近提交的值集更新所需的活动集。所述活动可以与任意数目的其它提交的值集变化(其它更新处理)交织。企业计划系统(12)还标记一致集并除去值集的陈旧版本。

Description

企业计划系统中的更新处理
技术领域
本发明涉及企业计算环境,并且尤其涉及企业业务计划的计算环境。
背景技术
企业软件系统通常是复杂的大型系统,其支持很多例如上百或上千的并发用户。企业软件系统的范例包括财务计划系统、预算计划系统、订单管理系统、存货管理系统、销售人员管理系统、业务智能工具、企业报告工具、项目和资源管理系统以及其它企业软件系统。
一些类型的企业计划应用,例如计划和预算应用,需要大量用户输入数据,从而软件将数据聚合到组织内的较高层责任区中。该系统可以对数据执行数学计算,将一个用户提交的数据与另一个用户提交的数据进行组合。利用这些计算结果,该系统可产生用于较高层管理进行审查的报告。
随着企业变得越来越大并且越来越复杂,数据的累积和报告的产生变得非常复杂。在将结果聚合到组织层的最高层节点之前,需要很多中间层的计算。一种累积数据的传统技术涉及在单数据库事务内从组织层的叶节点到顶点的累积。然而,因为累积处理将汇总集中到这些较高层中,因此这种方法可能经历对数据的大量争用,所述数据表示较高层节点。另一种传统方法推迟累积直到预定的时间(通常为整夜或“非工作时间”(offhours))为止。在这些预定的时间期间,防止用户输入新的数据,而同时系统累积数据并产生任何请求的报告。整夜处理可能在收集数据和产生报告之间导致严重的时间延迟。另外,对于全球化运营的企业来说,是没有“非工作时间”的。这些问题特别在面向期限的活动(例如企业计划)中是存在问题的。
发明内容
一般而言,本发明涉及用于逻辑上保持企业软件系统的一致数据的技术。具体而言,本发明涉及在持久的数据存储器内保持不同版本(version)的企业数据的技术。当用户提交新的多个值集到系统时,系统保持较早值集的副本。然后该系统启动一组任务以更新其余的数据存储器来反映新的值集。该组任务在此处被称作为“更新处理”。更新处理的谨慎管理使系统能够在不必停止系统或将计算集中在根节点的情况下访问一致的记录。很多个别的更新处理可以在任何给定的时间在系统内进行。
在一个实施例中,一种方法包括:根据用于企业计划系统的计算模型,在数据存储器中存储企业计划数据,其中所述计算模型包括多个分层排列的节点,且其中每一个节点具有对应的层次测度,接收用户提交的与所述计算模型中一个或多个叶节点相对应的值集,启动更新处理,以将所提交的值集累积入所述数据存储器中,其中所述更新处理包括一组活动,每一个活动对应于所述计算模型中的节点,确定可用活动集中的最低层次测度,调度具有最低层次测度的所有可用活动,以及执行所调度的活动。
在另一个实施例中,一种系统包括:企业计划系统,其根据计算模型为一组企业用户执行企业计划会话(session),其中所述计算模型定义分层排列的节点,以及更新处理管理器,其启动更新处理以将用户提交的值集累积入数据存储器,其中每一个更新处理包括对应于所述计算模型中节点的一组活动,其中所述更新处理管理器还识别出在所述更新处理之间潜在的冲突活动,以及其中所述更新处理管理器响应于查询,识别所述计算模型中节点的一致版本。
通过附图和以下的描述,阐述本发明的一个或多个实施例的细节。根据该描述、附图和权利要求书,本发明的其它特征、目的及优点将变得显而易见。
附图说明
图1是例示示例性计算环境的方框图,在所述示例性计算环境中多个用户与企业软件系统交互;
图2是进一步详细例示企业计划系统的一个范例的方框图;
图3A是示出示例性有向非循环图(DAG)的方框图,其例示假设的计算任务之间的关系;
图3B是示出用于假设的组织的示例性DAG的方框图;
图4是例示企业计划系统在实现更新处理中的操作的概述的流程图;
图5是例示具有两个活动的更新处理的示例性DAG的方框图;
图6是例示企业计划系统在建立两个活动的更新处理之间关联中的示例性操作的流程图;
图7是例示具有两个活动的更新处理的另一个示例性DAG的方框图;
图8A和图8B是例示企业计划系统在两个活动的更新处理之间添加排序约束并根据排序约束进行操作的示例性操作的流程图;
图9是例示企业计划系统响应查询而报告一致集(consistent set)的示例性操作的流程图。;
图10是例示企业计划系统标记一致集的示例性操作的流程图;
图11是例示企业计划系统除去陈旧实例的示例性操作的流程图。
具体实施方式
图1是例示企业4的示例性计算环境2的方框图。在企业3中,多个用户6通过计算设备8A-8N(统称为“计算设备8”)与企业计划系统12交互。计算设备8彼此通信并通过网络10与企业计划系统12通信。企业计划系统12还与数据库14通信。管理员16配置并维护企业计划系统12。
出于示例性目的,参考企业计划系统(例如企业财务计划、预算计划、市场计划或其它业务计划系统)来描述本发明。这里描述的技术易于应用到其它软件系统,包括其它大型企业软件系统。其它企业软件系统的例子包括订单管理系统、存货管理系统、销售人员管理系统、业务智能工具、企业报告工具、项目和资源管理系统。
一般而言,企业计划系统12提供三个企业计划阶段:建模阶段、贡献阶段(contribution stage)以及协调阶段(reconciliation stage)。在建模阶段中,称作为分析者3的用户6的子集(例如首席财务官、高级财务分析师或产品和销售分析师)定义需求并为企业3构建计划模型。更具体的,分析者4开发具有多个分层排列节点的模型,所述节点表示企业3内的各个组织单元,例如业务单元或部门,以及还表示每一个组织单元内的变量之间的计算关系。
在建模阶段期间,分析者4还为组织层级的每一个节点建立团体目标(corporate target)。分析者4然后为层中的一个或多个节点指定一个或多个企业用户,例如经理、主管、销售代表、研究室管理员等等,他们对相应组织单元的企业计划负责。通常,每一个用户一般对属于他们各自组织单元的一个或多个节点负责。其它用户对其它组织单元的类似节点负责。可以将每一个企业用户指定为提供计划数据给企业系统12的参与者(contributor)7、接受或拒绝来自参与者7的贡献的审查者5或二者。参与者7和审查者5可以是企业3内的或耦合到网络10的其它实体内的被授权的用户,例如供应商和消费者。
接下来,企业计划系统12进入贡献阶段,在该阶段期间参与者7与企业计划系统12交互,并输入贡献数据形式的详细信息。例如,取决于企业3执行的特定企业计划活动,参与者7可提供详细的财务预测、收益预测、订单预测、存货预测、估计的资源需求等。该系统还可以用于其它类型的计划例如市场活动计划、零售商店计划或任何其它业务计划活动。
在协调期间,企业计划系统12自动协调预测数据和分析者4提供的团体目标。企业计划系统12可累积企业3的贡献数据并为与企业3的较高层关联的审查者5提供对累积数据的访问。企业计划系统12识别受最近接收的贡献数据影响的组织模型的所有较高层,并将结果累积入组织层级的较高层。企业计划系统12以如下方式累积数据:最小化数据库争用,允许进行中的计划数据输入,并允许在累积进行时对该数据进行查询以返回一致结果。
在每一层上,企业计划系统12确保(如企业模型的节点所定义的)审查者7协调目标数据和预测数据。考虑到分析者8提供的团体目标,每一个审查者7可以例如拒绝或接受贡献数据。该处理继续直到组织层级的最高层最后批准该贡献数据为止,从而确保来自参与者6的贡献数据与由分析者8提供的团体目标相协调。
从而企业计划系统12能够使组织将团体模型和组织目标与详细的预测相协调,并提供用于递送合作计划能力的平台,所述合作计划能力可容易地调整至上千用户。
企业用户(例如参与者7、分析者4和审查者5)可利用各种计算设备8经由网络10与企业计划系统12交互。例如,利用膝上型计算机、桌上型计算机等,运行web浏览器(例如位于华盛顿州雷蒙德(Redmond,Washington)的微软公司(Microsoft Corporation)所出品的Intemet ExplorerTM或网景通信公司(Netscape Communications Corp.)所出品的Netscape),企业用户6可与企业计划系统12交互。
在另一个实施例中,用户6可以利用扩展的传统电子表格软件应用进行离线工作,所述传统电子表格软件应用例如是微软公司提供的Microsoft ExcelTM、IBM的QuattroTM Pro of Corel and Lotus 1-2-3TM,在2004年10月14日提交的Humenansky等人的共同待决并共同受让的美国专利申请NO.10/965,321中对其进行了描述。如应用中所描述的,在电子工作表环境中,电子表格应用的功能可以扩展成向企业用户提供观看和编辑多维数据的能力,所述多维数据例如置于由企业计划系统12维持的多维数据存储器中的数据。这允许用户调节现有的电子表格功能,例如格式化、制图和其它功能,同时与复杂的多维数据存储器交互。
或者,企业用户可以利用个人数字助理(PDA),例如位于加州圣克拉拉(Santa Clara,Califomia)的Palm公司所出品的PalmTM管理器、支持web的蜂窝式电话或类似设备。网络10表示任何通信网络,例如基于包的数字网络,如因特网。以此方式,系统2可以容易地调整至适用于大型企业。企业用户6可经由局域网直接访问企业计划系统12,或可以经由虚拟专用网络、远程拨号或类似远程访问通信机制远程访问企业计划系统3。
系统2还包括数据库14,其为模型中的每一个节点存储值集。数据库14可以以多种方式被体现。例如,数据库14可以是关系数据库,例如位于华盛顿州雷蒙德的微软公司所出品的SQL服务器或位于加州红木海岸(Redwood Shores,CA)的甲骨文(Oracle)公司所出品的Oracle数据库。该数据库还可以是面向对象的或其它类型的数据库。
在用户6每一次提交新的值集时,企业计划系统12执行一组后台活动以将新的值集并入企业3的总数据存储器中。这些后台活动可以不与任务提交同步发生。需要使整个数据存储器与最近提交的值集同步的该组任务或活动在这里称作为“更新处理”。在大型企业中,可能有很多员工在提交新的值集。因此,在企业计划系统12内可能并发运行很多的更新处理。
图2是进一步详细例示企业计划系统12的一个例子的方框图。需要理解的是,企业计划系统12还包括其它的功能部件,仅示出企业计划系统12与本发明最相关的那些部分。用户6经由关联的计算设备8和网络10与企业计划系统12通信。更新处理模块20接收最近提交的值集并协调它们到数据存储器的集成。如上所述,在建模阶段期间,分析者4开发一种计算模型24,其具有多个分层级排列的节点,所述节点表示企业3内的各种组织单元,例如业务单元或部门,或通过计算相关的不同变量,所述变量表示与建模的业务处理相关的规格。计算模型24使各个值集彼此相关,包括在每一个组织单元内不同层上的变量之间的聚合,以及在组织层级的一层上的值和该组织层级的较高层上的值之间的聚合。
当从用户6接收到新的值集时,更新处理模块20确定计算模型24的哪个节点对应于每一个值集。更新处理模块20还确定用于使得数据存储器以最近提交的值集进行更新所需的活动集。更新处理模块20参考计算模型24以确定在更新数据存储器以反映最近提交的值集时执行哪些活动。更新处理模块20还可创建在提交新的值集时管理每一个更新处理所需的任何必要记录和列表。例如,更新处理模块20可创建对应于每一个更新处理的更新处理记录。计算引擎21执行由计算模型24中的节点定义的必要计算。
更新处理模块20还在可用活动(available activity)之间进行调度(schedule),并识别出在两个或更多个同时活动的更新处理之间潜在的冲突更新。更新处理模块20在累积进行时报告一致值集。更新处理模块20允许在特定的时间点标记数据存储器内一致的节点实例集,并进一步提供在随后访问那些被标记的数据集。更新处理模块20还识别查询或更新处理不再可访问的节点实例,从而可以将它们从数据存储器中除去。
图3A是示出示例性计算模型50的方框图。概念上而言,可以将计算模型排列进图中,其中图的边使值集彼此相关,图的节点是实际的计算。在该实施例中,该图在每一个边使计算的源值到目标值相关的意义上是有方向的,并且是非循环的,因为没有值可以被直接或间接输入至其自身的计算中。这种类型的图称作为有向非循环图(DAG)。
DAG 50包括多个叶节点52、54、56和58。在该例子中,这些叶节点被定义成折扣%52、价格54、销售单元56和成本58。将基于其它节点被计算出的DAG 50的节点在这里称作为计算出的节点。节点62、64、72和82是计算出的节点的例子。在这个例子中,这些计算出的节点被定义为销售62、销售成本64、收益72和毛利82。根节点例如节点82是那些不是用于另一个节点计算的输入的节点。
DAG 50的最低层(由叶节点组成)称作为叶层或1层。在计算节点和叶节点之间的最大节点数(包括节点本身)在这里称作为节点层。因此在DAG 50的例子中,节点62和64处于2层,节点72处于3层,而节点82处于4层。
DAG 50表示计算模型,其中根据节点54和56计算节点62,根据节点56和58计算节点64,根据节点52和62计算节点72,而根据节点64和72计算节点82。
每一个节点的值集可以是单一值,但一般它们可包含任意数目的同核值类型的测度,其随着不同的特性例如产品或时间改变。计算处理对输入值集中的所有对应值应用相同的运算。节点计算还可能更复杂,因为它们可能不需要以与目标节点相同的方式对计算群的输入节点进行个别测度。
将每一个节点的值集存储在可靠并持久的存储中,例如数据库14。根据DAG 50,企业计划系统12可确定这些值集如何相关。如这里所描述的,企业计划系统12使得最近提交的值集以如下方式被聚合进数据存储器中(所述值集是总值集组的子集):在累积进行时最小化数据库争用,同时允许对数据存储器进行查询以返回一致的仅具有短时间滞后的最新结果,还允许用户连续提交新的值集。
因为企业计划系统12接收最近提交的值集,企业计划系统12在持久存储中存储所提交的值集,而不是替换那些值集的在前版本,它们被存储为与在前值集关联的新值集,但被分配不同的序列版本号。类似地,企业计划系统12在数据存储器中将从最近提交的值集获得的计算出的值集存储为新版本,而将在前版本留在适当的位置。
如上所述,在这里将使整个数据存储器与一组提交的值集同步的活动集称作为更新处理。当活动完成时,更多活动可被添加到更新处理中。因为计算顺序是非循环的,因此每一个更新处理最后可完成;也就是说,最近提交的值集最后被并入DAG的根节点中,对于所述根节点,最近提交的值集是具有从属性的(dependent)。在原始值集被保存进数据存储器时提交值集的行为完成。
执行与更新处理相关的活动,直到所有活动完成为止,此时整组值集(例如DAG 50的所有节点)的新的一致版本对于查询可用。这些活动可以与来自任意数目的其它提交的值集变化以及它们关联的更新处理的活动交织。
如上所述,DAG的节点表示节点之间的从属关系。出于描述目的,将“从属”值集定义为目的节点计算的输入值集。通过这种定义,节点54和56称作为对节点62“从属的节点”,节点56和58称作为对节点64从属的节点,节点52和62称作为对节点72从属的节点,节点72和64称作为对节点82从属的节点。对应于节点54和56的值集称作为节点62的“从属值集”,依此类推。
当对更新处理的活动进行调度时,识别出可用活动子集是非相互从属的。换句话说,首先被调度的活动是那些具有从属集的活动,所述值集已被更新或未被最近提交的值集变化所影响。在该子集中的活动被一个或多个计算处理调度用于计算。这些活动中的每一个活动可以潜在地由不同的活动处理并行执行。
为了识别非相互从属的活动子集,企业计划系统12从可用活动集中确定子集,在执行子集之前不需要完成那些可用活动中的任何其它活动。在一个实施例中,测度被用于DAG中的每一个节点,每一个节点标识出其相对于叶层的位置(即,不是计算出的且不从属任何其它节点的节点层)。当活动被调度用于执行时,算法仅释放具有相同层测度的活动,以及仅释放测度是所有可用活动中最低值的那些活动。换句话说,选择可用活动子集,其中每一个活动具有从DAG的最低层算起的相同步骤数,并具有在所有可用活动中从DAG的最低层算起的最小步骤数。
例如,参考图3A,假设用户提交新的值集到价格节点54和销售单元节点56。使以最近提交的值集更新DAG 50所需的活动集包括计算节点62(2层)、64(2层)、72(3层)和82(4层)。由于那些2层任务是可用活动中的最低层,因此待调度的第一个活动集可以是计算节点62和64。这些活动(节点62和64的计算)可以并行执行。在该2层任务完成之后,企业计划系统12可在剩余的可用活动中查看,并发现最低的剩余活动是累积节点72,其是3层任务。最后,在计算节点72之后,将调度计算节点82,其是4层活动。
当每一个活动完成时,如果活动还不是更新处理的一部分的话,则添加活动到可用活动列表中,刚计算出的值集从属于所述可用活动列表。然后进行检查以查看任何其它活动对于更新处理是否仍是活动的。如果当前活动是在调度组内执行的最后活动,则再次识别哪些活动的所有从属集已被更新或不需要被更新,并调度活动子集用于计算。
当最后活动完成并且在更新处理中不再有活动时,完成更新处理并且将最初提交的新值集应用到DAG内的所有值集(节点)。
图3B示出假设的组织的示例性DAG 90的方框图。DAG 90示出具有卷入“所有区域”汇总的“东”和“西”区域的假设组织。东区的计算模型由附图标记92表示,西区的计算模型由附图标记94表示,所有区域的计算模型由附图标记96表示。
在DAG 90中,东区DAG 92和西区DAG 94中的节点“折扣%”仅用于计算DAG 92和94的每一个中的“收益”节点,并且不卷入所有区域DAG 96中。DAG 92和94中的“销售”和“销售成本”节点在区域层进行计算,但对所有区域层进行求和,以得到所有区域DAG 96中“价格”和“成本”的加权平均值。因此,图3B所示的示例性组织/计算DAG 90例示了计算可随着组织的不同层而改变。
图4是例示在实现更新处理(102)时更新处理模块20的示例性操作的流程图。在接收到最近提交的值集时,更新处理模块20启动更新处理并指定更新数据存储器以反映最近提交的值集所需的可用活动(104)。当为更新处理调度活动时,仅调度以下活动:非相互从属的,即,所有从属集已被更新或不受提交的值集变化影响的那些活动。为了识别非相互从属的活动,更新处理模块20确定所有可用活动中的最低层测度(106)。更新处理模块20然后调度用于执行的所有可用活动,所述可用活动具有所确定的最低层测度(108)。以此方式,仅调度具有相同层测度的活动用于执行,其中测度是所有可用活动中最低的。换句话说,每一个调度的活动具有从DAG中最低层算起的相同步骤数,并且步骤数是所有可用活动中最小的。
一旦调度了适当的活动,更新处理模块20释放被调度的活动用于执行(110)。更新处理模块20检查是否存在任何其它被调度的活动(112)。如果存在,则更新处理模块20可释放另一个被调度的活动(110)。或者,如果没有其它被调度的活动,则更新处理模块20检查是否有用于该更新处理的任何其它可用活动(114)。如果没有,则更新处理模块20标记该更新处理为竞争(116)。如果有用于更新处理的任何其它可用活动(114),则更新处理模块20再次从可用活动中确定最低层测度(116)并调度它们用于执行(108)。
企业计划系统12可以识别何时多个不同更新处理的处理导致以下情形,其中给出的值集起源与总的数据存储器不一致。企业计划系统12内的更新处理模块20识别这种潜在不一致的更新。这种潜在不一致的更新可能发生在有两个或更多个同时活动的更新处理时。因为更新处理内的活动可能不是同时完成,因此在另一个更新处理准备计算时,一个更新处理可能还没有在目标节点的所有输入节点中输入已更新的值集。例如,如果目标节点有两个输入节点,并且第一个更新处理已更新一个输入节点,但第二个更新处理还未更新该第二个输入节点,则第一个更新处理不应打算计算目标节点,因为目标节点的计算还没有获得第二个输入节点的最近数据。
在这种情形下,当第一个更新处理确定第二个更新处理已更新从属集(计算的输入值集),但还未更新当前目标节点时,第一个更新处理建立与第二个更新处理的“关联”。在这种情形下,第二个更新处理变得对更新两个关联的更新处理的目标节点负责。该第二个更新处理在达到计算目标值集点时执行两个计算,并存储值集,该值集用于在单一增加的值集中组合两个更新处理的所有变化。必要时该关联过程可扩展至任意数目的更新处理。关联过程持续直到完成所有更新处理为止,所述更新处理是关联的一部分。
图5是例示上述的示例性更新处理关联的示例性DAG 50的方框图。图5的DAG 50具有与图3A的DAG 50相同的节点和边关系。DAG 50具有两个当前活动的更新处理。节点的在前版本由节点52A、54A、56A和62A表示。那些节点的更新版本分别由节点52B、54B、56B和62B表示。第一个更新处理(混编的(hashed))已更新节点54B和62B。第二个更新处理(灰色阴影部分)已更新最近提交进节点52B和56B的值集。假设在图5所示的时间点,第一个更新处理准备更新节点72。换句话说,第一个更新处理的当前目标节点是节点72。然而,第二个更新处理(其更新节点实例52B和56B)还未更新节点62,该节点62是目标节点72的输入。在这种情形下,第一个更新处理确定对第二个更新处理已更新目标节点72从属的节点(在这个例子中是节点52B),但还未更新节点62或72。如果第一个更新处理继续进行并更新节点72,则更新将不一致,因为这仅包括来自第一个更新处理的数据部分,即节点52B,而非节点56B。
从而该第一个更新处理建立与该第二个更新处理的“关联”。根据该关联,该第二个更新处理变成对更新第一个和第二个更新处理的目标节点72负责。当节点72和82的计算值集并入来自两个任务集的数据时,该关联过程持续直到两个更新都完成为止。因此,在这个例子中,第一个更新处理“传递”节点72的计算至第二个更新处理。一旦该第二个更新处理已更新节点62(在此时已创建节点62C,未示出),则其将更新该第一个和第二个更新处理的节点72,创建单一的新节点实例72B(未示出),该单一的新节点实例72B并入最近提交的值集52B、54B和56B。
当更新处理与另一个更新处理相关联时,该关联更新处理通知关联的其它更新处理并且“传递”其对节点72的计算。
为了识别出潜在发生冲突的更新,更新处理模块20利用DAG中每一个节点中的测度,所述节点标识出其相对叶层的位置。当一连串活动被调度用于执行时,算法仅释放具有相同的最小层测度的活动。更新处理模块20记下可用于执行的那些活动的层次。当第一个更新处理准备计算节点时,其检查每一个从属节点并识别出创建最近版本的更新处理。如果与从属节点的最近版本相关联的第二个更新处理的层次低于目标节点的层次,则该第一个更新处理建立与第二个更新处理的关联,并使该第二个更新处理完成计算。因为所有更新处理涉及DAG中的从属信息,因此其它的更新处理将在某一点执行目标节点的计算。
图6是例示在识别潜在不一致的更新并在任何如此识别的潜在发生冲突的更新处理之间建立关联时更新处理模块20的示例性操作的流程图(120)。因为最近提交的值集被并入到数据存储器中,因此更新处理模块20为每一个值集实例创建关联的从属集列表。该从属集列表记录每一个值集的特定版本,所述每一个值集被用于计算特定的节点实例。例如,在图6中,DAG 50中每一个节点的从属集如下所示:
节点   从属集
62A    54A,56A
62B    54B,56A
64     56A,58
72     52A,62A,54A
82     72, 64
为了识别潜在的不一致的更新,当第一个更新处理准备计算目标节点时,更新处理模块20识别出对目标节点从属的每一个节点(122)。一旦识别出对目标节点从属的每一个节点,更新处理模块20识别出创建每一个从属节点的最近版本的更新处理(124)。更新处理模块20确定每一个识别出的更新处理的最高完成层(126)。如果与每一个识别出的更新处理相关联的层次不低于目标节点的层次(128)(换句话说,与每一个识别出的更新处理相关联的层次在目标节点层上或高于该目标节点层),则更新处理已完成其对DAG中目标节点的至少该层的计算,并且低于该层的值集与更新处理一致。然后更新处理模块20将计算目标节点(132)。
一旦目标节点被计算出,更新处理模块20可继续另一个活动(134)。或者,如果与任何识别出的更新处理关联的层次低于目标节点的层次(128),则第一个更新处理将其自身与较低层的更新处理“相关联”(130)。在这种情况下,该第一个更新处理通知关联的较低层的更新处理,并且应完成对较高层更新处理的目标节点计算。通过建立这种关联,更新处理模块20从第一个更新处理“传递”目标节点计算到较低层的更新处理。在这一点上,因为目标节点的计算通过与较低层的更新处理关联而被传递,所以更新处理模块20可继续进行另一个活动(134)。
本发明确保创建节点的任何特定版本的更新处理所处的层次决不高于创建该节点的任何在前版本的更新处理所处的层次。这种保证允许通过检查其最近的版本来确定任何给定节点的一致性状态。换句话说,通过提供这种保证,不需检查创建节点的任何在前版本的任何更新处理的状态,而仅检查创建最近版本的更新处理的状态。
为了实现这个目的,更新处理模块20提供排序约束,该排序约束防止来自DAG中较高层处的计算节点的更新处理,其高于DAG中处于或高于该层的另一个更新处理,但可能在随后的某一点落后该更新处理。当创建节点的新版本时,更新处理模块20确定创建该节点的在前最近版本的更新处理的状态。如果该更新处理还未完成,则在两个更新处理之间建立排序约束,从而相比创建节点的最近版本的更新处理,不允许建立排序约束的更新处理以计算DAG中的较高层处的节点。
当更新处理发现已完成其被调度的活动集并转而调度另一组可用活动时,其首先识别所有其可用活动的最低层测度。其将该最低层测度与具有附加排序约束的每一个更新处理的层次进行比较。如果其最低层测度高于任何更新处理当前正执行活动的层次,则当前更新处理不在那时调度任何新的可用活动。取而代之的是,在具有附加排序约束的那些更新处理的层次变化期间,该更新处理使其本身处于“阻止”状态。
当另一个更新处理发现其已更新完其被调度的活动集并可以调度额外的活动从而转至较高层以执行任务时,其查看是否有被阻止的任何附加更新处理正等待该更新处理向前执行。如果存在任何这种更新处理,则将解除对这些更新处理的阻止,从而它们可以再次检查它们的可用活动集,并且如果不再被约束的话,则调度额外的活动来执行。如果任何这些其它更新处理发现其仍然必须等待一些其它更新处理,则其可以再次使其本身处于“阻止”状态,等待另一个更新处理移至DAG中的较高层。
图7是例示示例性排序情况的示例性DAG 50的方框图。图7的DAG50的节点和边关系与图3A所示的DAG 50相同。DAG 50具有两个当前活动的更新处理。节点的在前版本由节点52A、56A、58A、62A和64A表示。那些节点的更新版本分别由节点52B、56B、58B、62B和64B表示。第一个更新处理(混编的)已更新节点52B、56B、62B和64B。第二个更新处理(灰色阴影部分)已更新最近提交至节点58B的值集。第二个更新处理现在准备计算节点64,然后计算节点82。然而,如果在该第二个更新处理计算节点64之后,其计算节点82,则请求节点82和/或72的查询可能不会产生一致的报告,这是因为对节点82进行检查的查询(由第二个更新处理更新)可能不知道第一个更新处理仍在活动,而还未将其所有数据并入节点72或82。
为了防止发生这种情况,在更新节点64之后(从而创建新的节点实例64C,未示出),该第二个更新处理确定哪个更新处理创建该节点的在前最近版本。在这个例子中,第一个更新处理创建节点64B,即,在前最近版本。然后该第二个更新处理检查第一个更新处理的层次,并确定第一个更新处理是在2层。然后第二个更新处理对第一个更新处理附加排序约束,并使其本身处于“阻止”状态,直到该第一个更新处理至少进行到与第二个更新处理的下一个活动相同的层次。在第一个更新处理完成其3层任务(更新节点72)和其4层任务(更新节点82)之后,该第一个更新处理将解除对该第二个更新处理的阻止,允许其更新节点82。
图8A是例示在建立排序约束时更新处理模块20的示例性操作的流程图(160)。企业计划系统12确保创建节点的任何特定版本的更新处理绝不处于比创建该节点的任何在前版本的更新处理更高的层次。为了确定任何给定节点的状态,不必检查用于创建该节点的任何在前版本的任何更新处理的状态,而仅检查创建该节点的最近版本的更新处理。
当第一个更新处理创建目标节点的新版本时(162),更新处理模块20确定创建在前最近版本的更新处理的状态(164)。如果第二个更新处理已完成(166),则更新处理模块20允许第一个更新处理继续进行下一个活动(169)。如果该第二个更新处理还未完成(166),则更新处理模块20建立排序约束,从而相比第二个更新处理,不允许第一个更新处理计算DAG中更高层的节点(168)。
图8B是例示用于具有至少一个排序约束的更新处理的更新处理模块20的示例性操作的流程图(170)。当更新处理准备调度另一组可用活动时,其确定所有其可用活动的最低层测度(172)。其将具有附加排序约束的任何更新处理的层次与该最低层测度进行比较(174)。如果其最低层测度高于任何这种更新处理的层次(176),则第一个更新处理在那时不调度任何新的可用活动。取而代之的是,在具有附加排序约束的那些更新处理的层次变化期间,第一个更新处理使其自身进入“阻止”状态(178)。
当具有附加排序约束的更新处理已完成其被调度的活动集并可以调度额外的活动,从而转至更高层进行任务执行时,该更新处理查看是否有被阻止的更新处理正等待其向前进行。如果有其它的这种更新处理,则将解除对它们的阻止,从而它们可以再次检查它们的可用活动集,并且如果不再被约束,则调度额外的活动来执行。当解除对更新处理的阻止(180)时,该更新处理可继续进行下一个较高层的活动(182)。如果另一个更新处理发现其仍必须等待一些其它更新处理,则在等待另一个更新处理转至DAG中的更高层时,其可以再次使其自身进入“阻止”状态。
即使一些值集是通过仍在活动的更新处理计算出的,企业计划系统12也可以收集/报告一组彼此一致的值集。即,如果将是DAG基本模型一部分的计算应用到从查询结果的最低层返回的实际值,则回答将与随着查询返回的计算节点中的结果一致。
如上所述,每一个值集的实例具有从属集的关联列表。从属集列表记录每一个值集的特定版本,所述值集被用于计算特定节点实例。为了识别值集的一致集,更新处理模块20首先将定位查询所请求的DAG中的最高层值集(即,距离叶层最远的查询中的节点)。可以将它们认为是该查询的根节点。更新处理模块20发现这些值集中每一个的最近版本,其中对应的更新处理已经过查询中所请求的最高层。因为更新处理在DAG中的该点上已计算出(或已完成执行),则可知存在于该层或低于该层的值集与那些更新处理一致。
更新处理模块20从这些根节点(查询的根节点)遵循从属节点列表行进。这可能需要追踪不是实际查询部分的节点,以定位满足查询所需的值集。遵循从属集列表经过从属链行进将导致其中所有值集与被识别出的(查询的)根节点一致的一组值集,从而它们是内部一致的。
为了举例说明,再次参考图5所示的情形。对三个节点收益72、销售62和折扣%52的请求将节点72识别为查询的根节点。该节点最近完成的版本是节点72。节点72通过其从属集列表连结到节点52和62的在前版本,即52A和62A。这些版本与节点72的特定版本一致。因此,响应该查询报告的版本是值集72、52A和62A。
举另一个例子,如果查询请求销售62、价格54和销售单元56,则那些节点的最近版本62B、54B和56B并不形成一致集,因为仅将通过第二个更新处理得到的输入数据(即对应于54B的值集)并入节点62B,而第一个更新处理还未将对应于节点56B的值集并入销售节点62。在这种情形下,查询的根节点是节点62。节点62的在前版本(即节点实例62A)以及节点54A和56A通过查询被返回,因为这些节点包括最近的一致集。
然而,如果查询仅请求销售62和价格54,则查询返回这两个节点的最近版本(即,分别是节点62B和54B)。该查询的根节点是节点62,并且第二个更新处理已进行到至少该层(2层),从而该节点组内部一致。如果该查询请求节点54和56,则将返回这些节点的最近版本54B和56B,因为这些节点并不以任何方式彼此从属。
图9是例示在响应如上所述的查询来报告一致集时更新处理模块20的示例性操作的流程图(190)。更新处理模块20识别出查询中的最高层节点或多个节点,或查询的“根节点”(192)。更新处理模块20确定最高层节点的每一个值集的最近完成版本(194)。即,更新处理模块20发现每一个根节点值集的最近版本,其中对应的更新处理已经过查询中所请求的最高层。因为对应的更新处理已在DAG中的该点之上进行计算(或已完成执行),因此该层上或低于该层的值集与更新处理一致。
更新处理模块20识别出对最高层节点的最近完成版本从属的所有节点,其延伸至DAG的叶层(196)。为了实现这个目的,在一个实施例中,更新处理模块20遵循所有从属节点的从属集列表行进,直到已识别出DAG中与最高层节点的最近完成版本相对应的所有节点为止。更新处理模块20报告所识别出的与最高层节点的最近完成版本相对应的从属集(198)。因此企业计划系统12准备将最近提交的值集并入DAG,同时允许进行查询以返回彼此一致的值集。
企业计划系统12可以标记所选择的节点实例的一致集,并通过在未来的某一时间指定标签来识别及访问那些节点实例。被标记的一致集反映在与标签关联的特定时刻的数据存储器状态。在一个实施例中,与标签关联的该组节点实例可包含在关联时刻数据存储器内的所有节点实例。
图10是例示在特定时刻横跨数据存储器创建节点实例被标记的一致集时更新处理模块20的示例性操作的流程图(200)。为了创建被标记的一致集,管理员16或其他用户8创建期望的标签来描述被标记的一致集(202)。更新处理模块20识别出DAG中的一组根节点(204)。该组根节点是DAG中不具有任何向外(outgoing)边的一组节点,即,不用于作为DAG描述的任何其它计算的输入。
更新处理模块20检查DAG中的每一个根节点,以确定由完成的更新处理产生的最近版本(206)。为了实现这个目的,更新处理模块20识别每一个根节点的最近版本,并发现创建该版本的更新处理。根据定义DAG的规则,当创建根节点的最近版本的更新处理完成时,作为该根节点输入的所有节点的对应版本必须与该根节点的最近版本一致。更新处理模块20将所选择的标签附加到该根节点的最近版本(208)。然后更新处理模块20识别(210)作为该根节点的最近版本输入的对应从属集版本,所述根节点的56最近版本包括对向下延伸至DAG的叶层的所有从属节点。例如,在一个实施例中,更新处理模块20遵循从属集列表行进,直到识别出DAG中与该根节点的最近版本相对应的所有节点为止(212)。更新处理模块20将DAG中与每一个根节点的最近完成版本相对应的所有从属节点的识别出的版本进行标记(214)。
在一个实施例中,如果在该处理中识别出多于一个的特定节点实例(可能发生在节点被输入到多个其它节点时),则选择该节点的最近实例。从所有根节点重复沿着从属关系列举数据存储器内的所有节点实例。从而所识别出的整组节点实例与标签关联。因此企业计划系统12为用户提供访问数据一致集的能力,该数据一致集反映在与标签关联的特定时刻数据存储器的状态。
在图10所示的实施例中,被标记的一致集反映在特定时刻数据存储器的状态,标签在该特定时刻被创建。在另一个实施例中,用户6可指定标签应反映的时刻。在这种实施例中,标签模块28可以在指定的时期标记每一个根节点的最近完成版本,然后在指定的时期标记与最近完成的版本一致的所有输入节点的版本。
当用户继续添加新的数据到企业计划系统12时,节点的较新版本将取代较旧的版本。在整个处理中,在以下意义上数据存储器中的某些节点实例将变得“陈旧”:所述节点实例既不是最近一致集的部分,不是用户在将来的某些时间可能引用的被标记集的部分,也不是当前执行的更新处理部分。更新处理模块20识别这些“陈旧的”节点实例,从而可以从数据存储器14除去这些节点实例。以此方式,可以从该存储除去不再需要的节点实例和任何关联关系以及保持这些节点所需的其它开销,从而它们占据的空间可以由企业计划系统12重新利用。
为了确定哪些节点实例是陈旧的,并且可以从数据存储器中删除它们,企业计划系统12识别出应被保留的节点。应被保留的节点实例可以包括例如最近一致集、任何被标记的集以及比最近一致集更新(即更近)的任何节点实例。后一节点实例组应被保留,因为它们的关联更新处理仍处于将它们关联的最近提交的值集并入数据存储器的处理中。被标记的集和最近一致集应被保留,因为它们可能将在某个未来时间由查询引用。
图11是例示更新处理模块20从数据存储器中除去陈旧实例的示例性操作的流程图(250)。为了确定可以从数据存储器14中除去的一组陈旧实例,更新处理模块20可识别出应被保留的那些节点实例,并识别出陈旧的任何剩余实例。为此,更新处理模块20可识别出最近的一致集(252)。用于识别最近一致集的过程类似于上述关于图10用于创建被标记的一致集的过程。更新处理模块20还识别与数据存储器14关联的所有被标记的一致集(254)。更新处理模块20还可识别比最近的一致数据集中的节点实例更新的任何剩余节点实例。可以将不是较新的节点实例除去。换句话说,更新处理模块20可识别出通过当前执行的更新处理(即,尚未完成的更新处理)创建的任何剩余节点实例(256)。接着更新处理模块20可将任何剩余的节点实例识别为“陈旧的”(258)。
本文中描述的更新处理技术可以以硬件、软件、固件或其任何组合实现。本发明可被体现为计算机可读介质,该计算机可读介质包括用于使可编程处理器执行上述方法的指令。例如,该计算机可读介质可包括随机存取存储器(RAM)、只读存储器(ROM)、非易失随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、闪存、磁或光学媒体等。可以将所述指令实现为一个或多个软件模块,所述软件模块可以由它们自身或与其它软件结合来执行。
所述指令和介质并不必与任何特定计算机或其它装置相关联,而是可以由各种通用或专用机器来实现。所述指令可以分布在两个或更多个介质之间并且可以由两个或更多个机器来执行。所述机器可以直接彼此耦合,或通过网络耦合,所述网络例如为局域网(LAN)或全球网(例如因特网)。
本发明可被体现为一个或多个设备,所述设备包括用于实现本文所述功能或方法的逻辑电路。该逻辑电路可包括通用或专用的可编程处理器,例如微控制器、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)等等。
已经描述了本发明的各种实施例。这些和其它实施例均落入所附的权利要求书的范围内。

Claims (20)

1.一种企业计划系统中的更新处理方法,包括:
根据用于企业计划系统的计算模型在数据存储器中存储企业计划数据,其中,所述计算模型包括多个分层排列的节点,以及其中,每一个节点具有对应的层测度,所述层测度识别所述节点相对于所述分层排列的节点的叶层的位置;
接收由用户提交的与所述计算模型中的叶节点相对应的值集;
启动更新处理,以将所提交的值集累积到所述数据存储器中,其中,所述更新处理包括一组活动,每一个所述活动对应于所述计算模型中的一个节点;
确定不相互从属的可用活动集的子集;
调度与具有所述层测度中最低层测度的节点相对应的子集的活动;以及
执行所调度的活动。
2.如权利要求1所述的方法,其中,执行所调度的活动包括:
完成一个被调度的活动,以创建所述计算模型中对应节点的更新值集;
添加额外的活动到所述可用活动集中,所述更新值集是所述额外的活动的从属值集。
3.如权利要求2所述的方法,还包括为所述更新值集指定版本,并在所述数据存储器中存储所述更新值集。
4.如权利要求2所述的方法,还包括保持作为所述更新值集的输入的从属值集的版本列表。
5.如权利要求2所述的方法,还包括:
确定是否存在任何剩余的被调度的活动;以及
确定所述剩余的被调度的活动的集合的子集,所述剩余的被调度的活动是独立的。
6.如权利要求5所述的方法,还包括:
确定是否存在任何剩余的可用活动;
调度所述剩余的可用活动。
7.如权利要求1所述的方法,其中,启动更新处理包括启动多个更新处理,所述多个更新处理中的每一个对应于多个被提交的值集中的一个值集。
8.如权利要求7所述的方法,还包括:
识别指定给第一个更新处理的活动,所述第一个更新处理可能会与第二个更新处理发生更新冲突,其中所述第一个更新处理具有关联的较高层测度,而所述第二个更新处理具有关联的较低层测度;以及
将指定给所述第一个更新处理的所述活动传递给所述第二个更新处理。
9.如权利要求1所述的方法,还包括响应于查询,识别所述计算模型中的节点的一致版本。
10.如权利要求9所述的方法,其中,识别节点的一致版本还包括:
识别所述查询中的最高层节点;
确定所述最高层节点的最近完成版本;以及
识别与所述最高层节点的最近完成版本相对应的所述最高层节点的从属集的版本。
11.如权利要求1所述的方法,还包括标记所述计算模型中所有节点的一致版本。
12.如权利要求1所述的方法,还包括删除所述计算模型中的节点的陈旧版本。
13.如权利要求1所述的方法,其中,所述计算模型包括有向非循环图。
14.一种企业计划系统中的更新处理方法,包括:
根据用于企业计划系统的计算模型在数据存储器中存储企业计划数据,其中,所述计算模型包括多个分层排列的节点,以及其中,每一个节点具有对应的层测度,所述层测度识别所述节点相对于所述分层排列的节点的叶层的位置;
接收由用户提交的与所述计算模型中的叶节点相对应的值集;
通过下述步骤标记所述计算模型中的所有节点的一致版本:
选择标签;
识别所述计算模型中的根节点;
确定每一个根节点的最近完成版本;
识别与每一个根节点的最近完成版本相对应的从属节点的版本;
使所选择的标签关联于所述根节点的最近完成版本以及所识别出的从属节点的版本;
启动更新处理,以将所提交的值集累积到所述数据存储器中,其中,所述更新处理包括一组活动,每一个所述活动对应于所述计算模型中的一个节点;
确定不相互从属的可用活动集的子集;
调度与具有所述层测度中最低层测度的节点相对应的子集的活动;以及
执行所调度的活动。
15.一种企业计划系统中的更新处理方法,包括:
根据用于企业计划系统的计算模型在数据存储器中存储企业计划数据,其中,所述计算模型包括多个分层排列的节点,以及其中,每一个节点具有对应的层测度,所述层测度识别所述节点相对于所述分层排列的节点的叶层的位置;
接收由用户提交的与所述计算模型中的叶节点相对应的值集;
通过下述步骤删除所述计算模型中的节点的值集的陈旧版本:
识别最近创建的所述计算模型中的一致值集;
识别所述计算模型中任何被标记的一致值集;
识别由进行中的更新处理创建的值集版本;以及
删除所述计算模型中任何剩余的值集版本;
启动更新处理,以将所提交的值集累积到所述数据存储器中,其中,所述更新处理包括一组活动,每一个所述活动对应于所述计算模型中的一个节点;
确定不相互从属的可用活动集的子集;
调度与具有所述层测度中最低层测度的节点相对应的子集的活动;以及
执行所调度的活动。
16.一种计算机实现的企业计划系统,用于根据计算模型为一组企业用户进行企业计划会话,其中,所述计算模型定义分层排列的节点,其中,所述计算模型中的每一个节点具有关联的层测度,所述层测度识别所述节点相对于所述分层排列的节点的叶层的位置,所述企业计划系统包括:
更新处理管理器,用于启动更新处理以将用户提交的值集累积入数据存储器中,其中,每一个更新处理包括与所述计算模型中的节点相对应的一组活动;
其中,所述更新处理管理器还识别在所述更新处理之间潜在的冲突活动;
其中,所述更新处理管理器响应于查询,识别所述计算模型中的节点的一致版本,以及其中,所述更新处理管理器调度具有所述层测度中最低层测度并可用于执行的活动。
17.如权利要求16所述的系统,其中,所述更新处理管理器标记所述计算模型中的所有节点的一致版本。
18.如权利要求16所述的系统,其中,所述更新处理管理器删除所述计算模型中的值集的陈旧版本。
19.如权利要求16所述的系统,其中,所述计算模型包括有向非循环图。
20.一种计算机实现的企业计划系统,用于根据计算模型为一组企业用户进行企业计划会话,其中,所述计算模型定义分层排列的节点,所述企业计划系统包括:
更新处理管理器,其启动更新处理以将用户提交的值集累积入数据存储器中,其中,每一个更新处理包括与所述计算模型中的节点相对应的一组活动;
其中,所述更新处理管理器还识别在所述更新处理之间潜在的冲突活动;
其中,所述更新处理管理器响应于查询,识别所述计算模型中的节点的一致版本,以及
其中,所述更新处理管理器识别指定给第一个更新处理的活动,所述第一个更新处理可能与第二个更新处理发生更新冲突,其中,所述第一个更新处理具有关联的较高层测度,而所述第二个更新处理具有关联的较低层测度,并且将指定给所述第一个更新处理的所述活动传递给所述第二个更新处理。
CN200680035601XA 2005-09-27 2006-09-21 企业计划系统中的更新处理 Expired - Fee Related CN101273355B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/236,024 US7426524B2 (en) 2005-09-27 2005-09-27 Update processes in an enterprise planning system
US11/236,024 2005-09-27
PCT/US2006/036770 WO2007038183A2 (en) 2005-09-27 2006-09-21 Update processes in an enterprise planning system

Publications (2)

Publication Number Publication Date
CN101273355A CN101273355A (zh) 2008-09-24
CN101273355B true CN101273355B (zh) 2010-08-25

Family

ID=37895402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680035601XA Expired - Fee Related CN101273355B (zh) 2005-09-27 2006-09-21 企业计划系统中的更新处理

Country Status (6)

Country Link
US (1) US7426524B2 (zh)
EP (1) EP1934842A4 (zh)
CN (1) CN101273355B (zh)
AU (1) AU2006294984B2 (zh)
CA (1) CA2623863A1 (zh)
WO (1) WO2007038183A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038465A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Value model
US20070038501A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Business solution evaluation
US7761478B2 (en) * 2005-11-23 2010-07-20 International Business Machines Corporation Semantic business model management
US20070129981A1 (en) * 2005-12-07 2007-06-07 International Business Machines Corporation Business solution management
US20070214025A1 (en) * 2006-03-13 2007-09-13 International Business Machines Corporation Business engagement management
US20080004924A1 (en) * 2006-06-28 2008-01-03 Rong Zeng Cao Business transformation management
US7933791B2 (en) * 2006-09-07 2011-04-26 International Business Machines Corporation Enterprise performance management software system having variable-based modeling
EP2026594B1 (en) * 2007-08-14 2017-07-12 Alcatel Lucent A module and associated method for TR-069 object management
US9911142B2 (en) * 2010-12-10 2018-03-06 Viacom International Inc. Centralized deployment of advertising code
GB201210234D0 (en) * 2012-06-12 2012-07-25 Fujitsu Ltd Reconciliation of large graph-based data storage
US9104708B2 (en) 2012-09-07 2015-08-11 Magnet Systems, Inc. Managing activities over time in an activity graph
US20140071135A1 (en) * 2012-09-07 2014-03-13 Magnet Systems Inc. Managing activities over time in an activity graph
US9491054B2 (en) 2014-06-06 2016-11-08 Microsoft Technology Licensing, Llc Network-state management service
US9602351B2 (en) 2014-06-06 2017-03-21 Microsoft Technology Licensing, Llc Proactive handling of network faults
US9887878B2 (en) 2014-06-06 2018-02-06 Microsoft Technology Licensing, Llc Dynamic scheduling of network updates
US9910876B2 (en) 2014-06-11 2018-03-06 International Business Machines Corporation Query handling in a columnar database
CN112418599B (zh) * 2020-10-15 2023-02-10 重庆市科学技术研究院 一种基于指标集的企业成长路径规划方法及系统
CN112925800A (zh) * 2021-02-26 2021-06-08 平安普惠企业管理有限公司 数据依赖判断方法、装置、计算机设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058663B2 (en) * 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
US7797062B2 (en) * 2001-08-10 2010-09-14 Rockwell Automation Technologies, Inc. System and method for dynamic multi-objective optimization of machine selection, integration and utilization
CH701481B1 (de) 2001-09-25 2011-01-31 Roland Pulfer Prozessmanagement.
AU2002334954B2 (en) * 2001-10-11 2008-07-31 Omniture, Inc. System, method, and computer program product for processing and visualization of information
US7222302B2 (en) * 2003-06-05 2007-05-22 International Business Machines Corporation Method and apparatus for generating it level executable solution artifacts from the operational specification of a business
DE602004006485T2 (de) * 2004-03-02 2008-01-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatisierten anmerkung von berichten mehrdimensionaler datenbanken mit informationsobjekten eines datenspeichers
US7213199B2 (en) 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US20070016432A1 (en) * 2005-07-15 2007-01-18 Piggott Bryan N Performance and cost analysis system and method
US20070266366A1 (en) * 2006-05-12 2007-11-15 Iosemantics, Llc Generating and utilizing finite input output models, comparison of semantic models and software quality assurance

Also Published As

Publication number Publication date
US7426524B2 (en) 2008-09-16
AU2006294984B2 (en) 2010-07-08
WO2007038183A3 (en) 2008-01-17
EP1934842A2 (en) 2008-06-25
CN101273355A (zh) 2008-09-24
EP1934842A4 (en) 2009-12-02
WO2007038183A2 (en) 2007-04-05
CA2623863A1 (en) 2007-04-05
AU2006294984A1 (en) 2007-04-05
US20070073737A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
CN101273355B (zh) 企业计划系统中的更新处理
US7882088B2 (en) Method and system for transferring data from a data warehouse
US8340995B2 (en) Method and system of using artifacts to identify elements of a component business model
JP2006503352A (ja) プランニング、スケジューリングおよびサプライ・チェーン・マネジメントを改善するためのシステムおよび方法
US20070192160A1 (en) Plan solver
JP2012247964A (ja) 進捗管理装置、及び進捗管理プログラム
CN101167091A (zh) 用于企业软件系统的导出队列
Kayis et al. Risk quantification for new product design and development in a concurrent engineering environment
JP2004021364A (ja) 経営意思決定支援システム
CN101013426B (zh) 信息管理装置以及信息管理方法
JP2008015845A (ja) 資産管理システム、資産管理方法及び資産管理プログラム
US7386358B2 (en) Available to promise allocation optimization tool
JPH1011498A (ja) 営業マネジメント支援システム
JP2002334203A (ja) リソース情報管理システム
US7251583B2 (en) Minimizing use of parts that will reach their end of life prior to the products for which those parts are usable
WO2013061324A2 (en) A method for estimating the total cost of ownership (tcp) for a requirement
Nagare et al. Extended distribution‐free newsvendor models with demand updates using experts’ judgment
US20200371999A1 (en) System and computer program for providing automated actions and content to one or more web pages relating to the improved management of a value chain network
Labib A logistics approach to managing the millennium information systems problem
Vrat Inventory management
Rashid et al. Generic tool for measuring the reliability of product development processes
Rahman et al. Intermittent demand forecast and inventory reduction using Bayesian ARIMA approach
JP2007172326A (ja) 生産量決定支援システム、生産量決定支援方法、および生産量決定支援プログラム
Marcos Assessing the impact of operational performance improvement on business partners' profitability-the case of a luxury fashion e-commerce
Hall Implementing and maintaining a forecasting tool in order to improve demand forecast accuracy

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20081219

Address after: American New York

Applicant after: International Business Machines Corp.

Address before: Amsterdam, The Netherlands

Applicant before: IBM International Group

Effective date of registration: 20081219

Address after: Amsterdam, The Netherlands

Applicant after: IBM International Group

Address before: Alberta Canada

Applicant before: Coorg Los Unlimited Co.

Effective date of registration: 20081219

Address after: Alberta Canada

Applicant after: Coorg Los Unlimited Co.

Address before: The University of Minnesota

Applicant before: Cognos Inc.

ASS Succession or assignment of patent right

Owner name: INTERNATIONAL BUSINESS MACHINE CORP.

Free format text: FORMER OWNER: IBM INTERNATIONAL GROUP CO.,LTD.

Effective date: 20081219

Owner name: IBM INTERNATIONAL GROUP CO.,LTD.

Free format text: FORMER OWNER: CARL LOEWS CO.,LTD.

Effective date: 20081219

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100825

Termination date: 20200921

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