操控数据管理的制作方法

文档序号:6637187阅读:119来源:国知局
专利名称:操控数据管理的制作方法
技术领域
本发明涉及操控计算机系统中的数据管理。
背景技术
数据管理通常包括在计算机环境中对于信息的创建、改变、删除以及采取其他操作的权限。特别地,数据对象形式的信息可以由诸如具有适当特权的特定系统或特定用户之类的某人来管理。典型地,诸如产品对象的任何对象都是基于对象模型,其定义了对象的行为和组成它的段,并且该信息在系统中可以被存储作为“主数据”或等效物。然后,对应于特定产品的对象及其各自的段可以被创建为主数据的实例,并且可以用于各种目的。在改变主数据的某方面(其可以被认为是模型级的对象改变)和改变对象的值或其实例之一的值(其可以被认为是实例级的对象改变)之间存在着区别。例如,当产品对象具有被称作“产品描述”的段时,任何对产品描述的用户操作,诸如创建、改变或删除,都可以被认为是模型级改变。继续该示例,这个段的实例可能是英语描述,而改变或删除该描述可以被认为是实例级改变。
现有的解决方案可能依赖于集中式实体,其监控在几个系统中的数据所有权。任何试图对对象采取操作的系统可能必须在这样做之前询问监控器。这种解决方案的一个缺点在于与监控器的通信可能花费一些时间,并且可能延迟其他需要执行的任务。此外,当今很多系统是按照场景布置(landscapearrangement)连接的,其中所有的不同系统之间可能没有共同的技术,因而没有可以操控数据所有权(其是数据管理的另一个术语)的自然“中心”。
另一个现有的解决方案将维护对象的权限分配给其创建者。这种功能并非意图作为数据管理特征,而是着重于记录初始创建该对象的系统(或其他实体)的历史事实。这种系统具有如下缺点不能将数据所有权改变到不同实体。特别是在几个系统在场景中被弱连接在一起的情况下,这可能是个问题。如果故意地将一系统与该系统临时性地或者永久性地分离,则其余系统可能缺少对分离的系统的对象的数据管理权限。

发明内容
本发明涉及操控数据管理(managing data administration)。
总体而言,方法包括在计算机系统中接收第一输入,其标识要分配给该计算机系统中的控制对象的数据对象。在该计算机系统中接收该控制对象的第二输入。该第二输入指定在1)对该数据对象的模型级改变和2)对该数据对象的实例级改变之间的关系。在接收到第一和第二输入之后,将该控制对象发送到另一计算机系统。
在所选实施例中,该控制对象可以为数据对象的特定段指定被授权改变该特定段的控制系统。该特定段可以是从包括产品、位置、工厂、语言及其组合的组中选择出的一个。该控制对象还可以指定另一控制系统被授权改变该特定段的例外。可以拒绝不是由该控制系统进行的对该特定段的改变。
在所选实施例中,第一输入可以指定任何新创建的对象将要被分配给控制对象。可以使用第一输入为控制对象创建对象分配规则。当新创建的对象属于由该对象分配规则所标识的类时,可以将该新创建的对象分配给该控制对象。
这里所述的系统和技术的优点可以包括下列中的任一个或全部提供一种操控数据管理的改进方法;提供一种被授权管理数据对象的系统的更灵活的标识;提供一种可改变的数据管理控制;提供用于操控模型级对象改变和实例级对象改变之间的关系的数据管理;提供具有对未授权改变的改进处理的数据管理;以及提供具有改进的队列机制(enqueue mechnism)的数据管理。
在下面附图和描述中阐明本发明的一个或多个实施例的细节。通过说明书、附图和权利要求书,本发明的其他特征、目的和优点将变得清楚。


图1示意性示出了场景中的计算机系统;图2示出了本发明方法的实施例的流程图;和图3示出了一般计算机系统的方框图。
在各个附图中的相同附图标记指示相同的元件。
具体实施例方式
图1示出场景100,其包括四个系统服务器系统102和三个客户机系统104、106和108。每个系统都可以例如通过各自的对象操控应用程序110、112、114和116来处理用于一个或多个目的的对象。每个系统中的应用程序可以与任一个其他系统中的应用程序相同或者不同。系统可以在场景100内例如通过交换消息来共享数据。在本示例中,服务器102包括要与任一个或全部其他系统共享的数据对象(DO)118。
DO可以对应于产品、技术资产、联系人、伙伴或任何其他项或具体事物。DO是这个特定对象的主数据的特定实例;即,它是对象模型的特定实例。DO可以包括一个或多个对象段120,其为对象模型中的段的特定实例。
每个对象段120与拥有该段的系统的标识符相关联。例如,当系统102创建DO并且分配值给段120时,它可能将其系统ID与该段相关联。这样,场景100中的、被配置成考虑数据所有权的任何系统在用户试图改变段120时,都访问系统ID来确定其是否被授权进行该改变。如果系统确定其不拥有该段,则它可以拒绝该改变。类似地,如果这样的系统接收到由另一系统进行的对象改变,则它可以访问该段的系统ID来确定发送系统是否被授权进行该改变。
上述示例涉及实例级的对象改变。为了进一步操控DO的数据管理,将创建控制对象(CO)。特别地,CO可以为模型级的对象改变规定数据所有权,并且可以指定模型级的对象改变和实例级的对象改变之间的关系。CO可以在任何系统(例如,创建新对象实例的系统)中被创建,并且它可以与DO一起或单独地被分发给场景中的任何或所有其他系统。
系统可以在用户进行特定输入时创建CO。例如,服务器102可以提示用户标识将要分配给CO的数据对象。假设在本示例中用户指定DO118。服务器接收标识要分配给CO的DO的第一输入。因此,服务器可以将DO分配给CO。此外,服务器可以提示用户指定对DO的模型级改变和实例级改变之间的关系。假设用户指定拥有模型级改变的系统可以重写由任一个其他系统(典型地,由将其系统ID分配给该段实例的系统)进行的实例级改变。服务器接收用来指定对DO的模型级改变和对DO的实例级改变之间的关系的第二输入。因此,服务器确认该信息包含在CO中。
在接收第一和第二输入之后,服务器可以在场景100中分发CO。这里,服务器将CO分发给客户机104和客户机106。相反,客户机108不接收该CO。这可能是由于场景100中的系统仅仅相互弱连接,并且服务器102不知道客户机108。不过,系统104和106可以例如通过它们各自的对象操控应用程序,使用CO来确定数据所有权,其中该对象操控应用程序被配置成在适当时访问该CO。
存在不同的方式将场景100中的系统集成到数据管理操控中。例如,可将对象数据导入和导出到其他系统的系统可以被认为是完全集成的。相反,另一系统可能被配置成只从一个其他(导出)系统导入数据。再一个系统可能只向一个其他(导入)系统导出数据。CO可以用于在具有这些和其他配置的系统中规定数据所有权。
作为实际的示例,假设用户提示客户机106进行DO118中的模型级改变。例如,用户试图改变段120的某方面。被配置成评估数据所有权的客户机为了这个目的而访问CO122。发现它具有授权,客户机按照请求更新DO。此外,客户机可以被配置成与场景100中的其他系统共享对象改变。因此,客户机分发更新后的DO118。接收到更新后的DO的系统可依次访问它们各自的CO来验证是否发送者被授权进行该改变。例如,服务器102可以访问CO122,并确定客户机106拥有对象118中的模型级改变。服务器因而接受所接收的对象改变,并且可以相应地更新DO。相反,如果服务器确定客户机106未被授权改变该DO,则它可以拒绝所接收的对象改变。要注意的是,在本实现中,在接收到对象改变时,接收系统不(通过访问CO或其他方式)验证接收系统是否被授权进行该改变。
类似地,在服务器102拥有在DO中进行模型级改变的权限的情况下,它可以进行所请求的改变,并且将更新后的DO分发给其他系统。接收系统依次可以访问它们各自的CO来验证发送者是否具有授权。
另一种情况是场景中的系统(诸如客户机108)没有CO122,并且在DO118中进行改变。分发这个对象改变可能导致不一致和错误。然而,如果接收系统访问其CO来确定客户机108是否被授权进行该改变,则可以确定另一系统具有数据所有权权限,并从而可以拒绝所接收的对象改变。
服务器也可以更新CO。例如,用户可以通过进行恰当的输入,来请求改变一个或多个对象段的数据所有权或者模型级对象改变和实例级对象改变之间的关系,举出两个示例。在这样改变CO时,服务器也将它在场景100中分发,以便被配置成验证数据所有权的系统访问CO的当前版本。要注意的是,任何或所有系统都可以被配置成如果它们已经收到更新版本的CO,则拒绝该CO的分发。即,CO可以包括关于其创建时间的时间戳或等同信息。因此,在接受分发的CO之前,接收系统可以检查CO是否比任何现有版本旧。
现在将描述可包含在CO中的内容的示例。这里从用户接口的视点来描述系统行为。例如,CO122可以包括规定数据所有权的控制描述124。控制描述(control profile)可以以任何适合的形式提供,例如以表的形式。下面是这样一个表的示例

表1在表1中的段类型列中可以列出任何或所有包含在DO118中的段类型。这里,该列中最上面的项是“产品”,其指的是DO118对应的产品。即,表1的这一行涉及整个DO118。段ID列这里为空是由于该项涉及产品自身。控制系统列指定控制系统,即具有对DO的数据管理权限的系统。这里,这一项将这些权限分配给服务器102。例如,该字段填入CO的创建者的系统ID。关系列指定对DO的模型级改变和实例级改变之间的关系。用户可以进行指定该关系的输入,而输入信息可能导致在该列中产生对应的项。这里,“重写”项表示服务器102通常可以重写场景中其他系统所创建的任何实例数据。然而,如稍后所述,这也可能有例外。
表的第二行涉及“设置类型ID”的段类型。与该DO的所有段一样,它从属于“产品”段。在第二列中给出“设置类型ID”的段ID,而“控制系统”列指定服务器102是该段的控制系统。
表1中的从属项目自动继承它们所属的段的设置。因此,“设置类型ID”段从“产品”继承“关系”列中的“重写”项。严格地讲,表1因此可以不必包含“设置类型ID”项,这是因为它没有改变“产品”的任何设置。然而,由于其从属段之一是表1中的重要例外,所以将它包含在这里。
这个从属段类型是“工厂ID”,并且在本例中其ID是“1000”。不像表1中其上的两个段,“工厂ID”数据不是由服务器102操控。相反,CO指定系统“EU3_003”操控对该段的模型级改变。这意味着除了关于“工厂ID”1000的那些之外,服务器可以对“设置类型ID”进行所有模型级改变。“工厂ID”项目在“关系”列中没有项,这意味着其从上面的段继承设置(重写)。因此,控制系统EU3_003可以重写该段的实例数据。
表1的下一行包括与“设置类型ID”同一级的另一段。其“段ID”是COMM_PR_GTIN。此外,它在“控制系统”列中没有项,这意味着它继承“产品”的设置(服务器102)。然而,它在“关系”列中具有名为“有效”的项。这意味着操控COMM_PR_GTIN段的控制系统(这里是服务器102)不应重写其已经存在的实例。特别地,控制系统可以添加该段的多个项,但不能改变或删除现有的段实例。即,虽然控制系统可以被认为是该特定实例的拥有者,但可以限制其改变或删除实例的能力。
表1的下一行包括被标识为描述的“文本类型”段类型。例如,该段可以是与DO所对应的产品的描述。该段在“控制系统”或“关系”列中没有项,这意味着它通常从“产品”段继承值。然而,它的从属段之一是例外。该段具有“语言代码”类型,且其ID为“FI”,这指示其涉及芬兰语言代码;即,涉及以芬兰语写成的“描述”。“控制系统”列声明“OULU_01”。这意味着,对该段来说,服务器102没有数据所有权(EU3-003系统也没有,这是因为该段不从属于“工厂ID”段类型)。相反,OULU_01系统具有在该段中进行模型级对象改变的权限。与实例级改变的关系仍然是从“产品”段继承来的“重写”。
可以将CO分配给单个对象(诸如DO118),或者给几个数据对象。在一些实现中,满足一定条件的新创建的数据对象被自动分配给该CO。例如,CO可以包括对象分配规则(OAR)126,其指定对象类128中的任何新创建的数据对象将被分配到那里。OAR的一个示例是CO被分配到产品类,并因此被分配给被分配到产品类的所有产品。
作为一个示例,CO可以被用于实现弱队列机制。特别地,在启动对分配给CO的对象的操作之前,可以广播CO。例如,CO可以只包括表1中的顶部单元;这里是“产品”段类型。因而,产品对象的维护和分发被阻碍,除非并且直到用户收回该CO为止。然而,缺少数据管理功能的系统却可能进行(未授权的)对象改变,这就是术语“弱”队列机制。
上述示例涉及被称作客户机和服务器的计算机系统。在其他实现中,场景100中的系统可能不符合对作为客户机或服务器的描述。此外,场景中的任何系统可以是物理系统(即,对应于单个物理计算机设备)或逻辑系统(即,对应于还包括其他系统的设备的虚拟共享)。因此,在一些实现中,示范性设备102、104、106和108中的两个或多个可以位于同一物理设备上。
图2是方法200的流程图。方法200可以在场景中的系统中实现。例如,计算机程序产品可以包含指令,该指令使处理器执行包括方法200的步骤的操作。方法200包括下列步骤在步骤210,在计算机系统中接收第一输入,其标识要分配给该计算机系统中的控制对象的数据对象。例如,第一输入可以在服务器102中进行,并且可以特别标识DO118要被分配给CO122。作为另一个示例,第一输入可以指定任何新创建的对象都要被分配给CO122,而服务器102可以使用该第一输入来创建OAR126。
在步骤220,在该计算机系统中接收该控制对象的第二输入,第二输入指定了在1)对该数据对象的模型级改变和2)对该数据对象的实例级改变之间的关系。例如,第二输入可以在服务器102中进行,并且可以指定关系为“重写”或“有效”。服务器102可以将该输入合并到CO122中,例如,控制描述124中。
在接收到第一和第二输入之后,在步骤230将该控制对象发送到另一计算机系统。例如,在接收到第一和第二输入之后,服务器可以将CO122发送到任何或所有系统104、106和108。
在可选步骤240,访问该控制对象并确定计算机系统是否被授权进行对象改变。例如,在从系统106接收到对象更新时,服务器102可以访问CO122,并确定客户机106是否拥有DO118中的模型级改变。作为另一个示例,服务器102可以在用户提示它改变DO118时,访问CO122并确定服务器是否拥有该对象中的模型级改变。系统可以拒绝所提出的CO未授权的改变。
图3是根据一个实施例的、可用于上述操作的计算机系统300的方框图。系统300包括处理器310、存储器320、存储设备330和输入/输出设备340。部件310、320、330和340中的每一个使用系统总线350相互连接。处理器310能够处理系统300内用来执行的指令。在一个实施例中,处理器310是单线程处理器。在另一实施例中,处理器310是多线程处理器。处理器310能够处理存储在存储器320或存储设备330中的指令,以在输入/输出设备340上显示用于用户接口的图形信息。特别地,处理器310可以执行适于上述数据对象和控制对象的处理的指令。
存储器320存储系统300内的信息。在一个实施例中,存储器320是计算机可读介质。在一个实施例中,存储器320是易失性存储单元。在另一个实施例中,存储器320是非易失性存储单元。
存储设备330能够为系统300提供海量存储器。在一个实施例中,存储设备330是计算机可读介质。在各种不同实施例中,存储设备330可以是软盘设备、硬盘设备、光盘设备或磁带设备。
存储器320、存储设备330或者两者可以保持这里所述的数据对象和控制对象。
输入/输出设备340为系统300提供输入/输出操作。在一个实施例中,输入/输出设备340包括键盘和/或点击设备。在某些实施例中,输入/输出设备340包括用来显示图形用户接口的显示单元。特别地,输入/输出设备340可以包括适于用户创建这里所述的数据对象和控制对象的接口。
本发明可以以数字电子电路或者计算机硬件、固件、软件或其组合来实现。本发明的装置可以以在信息载体,例如机器可读存储设备或传播信号中具体体现的、由可编程处理器执行的计算机程序产品实现;本发明的方法步骤可以通过可编程处理器执行指令程序来执行,以通过操作输入数据和生成输出来执行本发明的功能。最好,本发明可以以一个或多个可在可编程系统上执行的计算机程序来实现,所述可编程系统包括至少一个被连接到数据存储系统以从其接收数据和指令和向其发送数据和指令的可编程处理器、至少一个输入设备和至少一个输出设备。计算机程序是可以在计算机中直接或间接使用的一组指令,用来执行一定的活动或带来一定的结果。计算机程序可以以任何形式的编程语言编写,包括汇编或解释语言,并且它可以采用任何形式,包括独立程序或者模块、部件、子程序或其他适于计算环境中使用的单元。
适于指令程序的执行的处理器包括,例如,通用和专用微处理器和任何类型计算机的单独处理器或多个处理器之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的关键单元是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还包括或者可操作与之连接通信的用于存储数据文件的一个或多个海量存储设备;这些设备包括诸如内部的硬盘和可移动盘之类的磁盘;磁光盘;和光盘。适于具体体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,例如包括诸如EPROM、EEPROM和闪存设备之类的半导体存储设备;诸如内部硬盘和可移动盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以被补充到或合并在ASIC(专用集成电路)中。
为了提供与用户的交互,可以在具有显示设备和键盘和点击设备的计算机上实现本发明,诸如CRT(阴极射线管)或LCD(液晶显示器)监视器之类的显示设备用于向用户显示信息,而通过诸如鼠标或轨迹球之类的点击设备和键盘,用户可以提供输入给计算机。
本发明可以在包括如下部件的计算机系统中实现诸如数据服务器之类的后端部件,或者诸如应用程序服务器或因特网服务器之类的中间件部件,或者诸如具有图形用户接口或因特网浏览器的客户端计算机之类的前端部件,或者其任意组合。系统的部件可以通过诸如通信网络之类的数字数据通信的任何形式和介质来连接。通信网络的示例包括例如LAN、WAN和组成因特网的计算机和网络。
计算机系统可以包括客户机和服务器。客户机和服务器通常相互远离,并且典型地,通过如上所述的网络交互。依靠运行在各个计算机上并且相互具有客户机-服务器关系的计算机程序,建立客户机和服务器的关系。
已经描述了本发明的多个实施例。然而应当理解的是,可以在不背离本发明的宗旨和范围的情况下进行各种修改。因此,其他实施例落在权利要求书的范围内。
权利要求
1.一种操控数据管理的方法,该方法包括在计算机系统中接收第一输入,其标识要分配给该计算机系统中的控制对象的数据对象;在该计算机系统中接收该控制对象的第二输入,该第二输入指定了1)对该数据对象的模型级改变和2)对该数据对象的实例级改变之间的关系;和在接收到该第一和第二输入之后,将该控制对象发送到另一计算机系统。
2.如权利要求1所述的方法,其中,所述计算机系统在发送该控制对象之后改变该数据对象,并将该对象改变发送给所述另一计算机系统。
3.如权利要求2所述的方法,其中,所述另一计算机系统在接收到该对象改变时访问该控制对象,并且确定该计算机系统是否被授权进行该对象改变。
4.如权利要求1所述的方法,其中,所述另一计算机系统在接收到该控制对象之后改变该数据对象,并将该对象改变发送给该计算机系统。
5.如权利要求4所述的方法,其中,所述计算机系统在接收到该对象改变时访问该控制对象,并且确定所述另一计算机系统是否被授权进行该对象改变。
6.如权利要求1所述的方法,其中,所述控制对象为该数据对象的特定段指定被授权改变该特定段的控制系统。
7.如权利要求6所述的方法,其中,所述特定段是从包括产品、位置、工厂、语言及其组合的组中选择的一个。
8.如权利要求6所述的方法,其中,所述控制对象还指定另一控制系统被授权改变该特定段的例外。
9.如权利要求6所述的方法,其中,拒绝不是由该控制系统进行的、对该特定段的改变。
10.如权利要求1所述的方法,其中,所述第一输入指定任何新创建的对象要被分配给该控制对象,所述方法还包括使用该第一输入来为控制对象创建对象分配规则。
11.如权利要求10所述的方法,其中,由于新创建的对象属于由该对象分配规则所标识的类,因此将新创建的对象分配给该控制对象。
12.如权利要求1所述的方法,其中,所述关系包括可进行模型级改变的控制系统可以重写实例级改变。
13.如权利要求1所述的方法,其中,所述关系包括可进行模型级改变的控制系统不应重写实例级改变。
14.如权利要求1所述的方法,还包括将该控制对象分配给包括该数据对象的数据对象类。
15.如权利要求1所述的方法,还包括在该计算机系统中接收该数据对象的另一控制对象,所述另一控制对象比该控制对象旧;以及拒绝所述另一控制对象。
16.如权利要求1所述的方法,还包括在该计算机系统中接收第三输入以改变该控制对象。
17.如权利要求16所述的方法,还包括将改变后的控制对象发送给所述另一计算机系统。
18.一种在信息载体中具体体现的计算机程序产品,该计算机程序产品包含指令,当执行该指令时,使处理器执行包括下列操作在计算机系统中接收第一输入,其标识要分配给该计算机系统中的控制对象的数据对象;在该计算机系统中接收该控制对象的第二输入,该第二输入指定了1)对该数据对象的模型级改变和2)对该数据对象的实例级改变之间的关系;和在接收到该第一和第二输入之后,将该控制对象发送到另一计算机系统。
19.如权利要求18所述的计算机程序产品,其中,所述操作还包括在该计算机系统中接收由所述另一计算机系统进行的、对该数据对象的对象改变;在接收到该对象改变时访问该控制对象;以及确定所述另一计算机系统是否被授权进行该对象改变。
20.如权利要求18所述的计算机程序产品,其中,所述操作还包括在该计算机系统中接收该数据对象的另一控制对象,所述另一控制对象比该控制对象旧;以及拒绝所述另一控制对象。
全文摘要
数据管理可以通过在计算机系统中接收第一输入来操控,第一输入标识要分配给计算机系统中的控制对象的数据对象。在计算机系统中接收该控制对象的第二输入。第二输入指定了1)对该数据对象的模型级改变和2)对该数据对象的实例级改变之间的关系。在接收到第一和第二输入之后,将该控制对象发送到另一计算机系统。可以访问该控制对象以确定是否该系统被授权进行对象改变。可以通过要进行该改变的系统或者通过从另一系统接收该对象改变的系统来进行该访问。
文档编号G06F17/30GK1737724SQ200510092120
公开日2006年2月22日 申请日期2005年8月19日 优先权日2004年8月19日
发明者克努特·休瑟曼, 英戈·布鲁斯, 克里斯蒂安尼·孔茨-迈尔, 乔基姆·布雷克特尔 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1