CN1695141A - 对数据的动态访问 - Google Patents
对数据的动态访问 Download PDFInfo
- Publication number
- CN1695141A CN1695141A CN 03824686 CN03824686A CN1695141A CN 1695141 A CN1695141 A CN 1695141A CN 03824686 CN03824686 CN 03824686 CN 03824686 A CN03824686 A CN 03824686A CN 1695141 A CN1695141 A CN 1695141A
- Authority
- CN
- China
- Prior art keywords
- data
- client computer
- group
- server
- client
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
动态访问存储在服务器维护的数据库中的数据。客户机将请求发送到服务器,以访问存储在数据库中的数据。从数据库中检索第一组数据,和根据客户机定义的一组映射规则,将第一组数据映射成第二组数据。然后,客户机接收第二组数据。
Description
技术领域
本发明涉及主数据的动态访问。
背景技术
在异构(heterogeneous)信息技术环境下,在一个机构内或在不同机构之间使用不同的计算机应用系统。例如,一种系统可能用于管理与公司的客户有关的信息,另一种系统可能用于管理与产品有关的信息。每种系统可能拥有它自己的用户接口、数据存储器、和处理数据的进程。每种系统可能被设计成将它的性能优化以管理特定的任务。两种系统维护的数据之间可能存在关联。例如,某些产品可能由特定的客户请求、被定制成满足某些特殊要求、和需要被寄送到客户的特定地址。
为了使系统共享数据,一种系统可能被安装成维护以客户对象的形式存储所有客户数据的主数据库的主数据服务器,而另一种系统可能被安装成维护以产品对象的形式存储所有产品数据的主数据库的主数据服务器。每个客户对象具有描述客户的各种方面的属性。客户的一些属性是局部的,而一些属性是全局的。局部属性只存储在它们的各自数据库中,而全局属性周期性地或在某些触发点被异步复制到不同数据库。由于全局属性被复制,系统可能通过利用局部应用程序编程接口访问各自数据库,来访问它们需要的客户数据和产品数据。由于每种系统维护它自己的数据库,可以独立地升级或维护每种系统。
发明内容
一般说来,一方面,本发明旨在提供动态访问数据的方法。该方法包括将请求从客户机发送到服务器,以访问存储在服务器维护的数据库中的数据,从数据库中检索第一组数据,根据客户机定义的一组映射规则将第一组数据映射成第二组数据,和在客户机上接收第二组数据。
本发明的实现方案可能包括一个或多个如下特征。存储在数据库中的数据包括对象的属性值。对象包括产品。对象包括商业伙伴。第一组数据到第二组数据的映射包括除去第一组数据中与客户机无关的属性数据。独立于服务器的客户机不时地修改该组映射规则。
一般说来,另一方面,本发明旨在提供一种维护数据的方法。该方法包括在服务器上接收标识符和与标识符标识的对象相关的数据,服务器被配置以维护客户机可访问的数据库,对于每个客户机,核实标识符和数据是否遵从客户机定义的一组规则,并将标识符和数据输入到数据库。
本发明的实现方案可能包括一个或多个如下特征。数据包括与对象相关的属性值。核实标识符和数据是否遵从一组规则包括核实数据是否符合与对象的属性有关的客户机定义的一子组规则。该子组规则包括定义属性值的可接受格式的规则。核实标识符和数据是否遵从一组规则包括核实标识符是否遵从与对象的标识有关的客户机定义的一子组规则。该子组规则包括定义标识符的可接受格式的规则。该方法还包括将数据与标识符联系在一起。该方法还包括将请求从客户机发送到服务器,以请求与标识符相关的数据,和将数据库中与标识符相联系的数据转换成客户机可接受的格式。该方法还包括将请求从服务器发送到第二服务器,该请求请求核实标识符和数据,识别哪些客户机可以访问数据库,和将该请求从第二服务器路由到被识别为能够访问数据库的客户机。对象包括产品。对象包括商业伙伴。服务器利用以可扩充标记语言编写的消息与客户机通信。该方法还包括对于每个客户机,将请求发送到客户机,以请求核实标识符和数据是否遵从客户机定义的该组规则,和如果特定客户机无应答,将客户机放在异常列表上,以指示标识符和数据没有被核实为遵从特定客户机定义的该组规则。在预定时间间隔之后,或当特定客户机试图访问数据库中的数据时,进行核实标识符和数据是否遵从特定客户机定义的该组规则的另一次尝试。
一般说来,另一方面,本发明旨在提供维护数据的方法。该方法包括将请求从客户机发送到服务器,以请求修改与对象相关的一组数据,该组数据存储在服务器维护的数据库中,接收服务器已经锁定该组数据,使得只有客户机才能修改该组数据的消息,将一组修改数据发送到服务器
本发明的实现方案可能包括一个或多个如下特征。该组数据包括与对象相关的属性值。客户机定义的该组规则包括定义属性值的可接受格式的规则。服务器通过将属性与客户机公布的检验表相比较,确定其它哪些客户机可以访问修改数据,每个检验表指示客户机可访问的属性。对象包括产品。对象包括商业伙伴。服务器利用包括以可扩充标记语言编写的代码的消息与客户机通信。
一般说来,另一方面,本发明旨在提供包括如下步骤的方法:提供含有允许在将数据存储在本地数据库中的第一模式和将数据存储在服务器计算机维护的远程数据库中的第二模式之间切换的模块的客户机计算机,和提供动态地将存储在远程数据库中的数据映射成具有客户机计算机定义的格式的数据的接口。
本发明的实现方案可能包括一个或多个如下特征。该方法还包括提供也含有允许在将数据存储在本地数据库中的第一模式和将数据存储在服务器计算机维护的远程数据库中的第二模式之间切换的模块的第二客户机计算机、和动态地将存储在远程数据库中的数据映射成具有第二客户机计算机定义的第二格式的数据的接口,第二格式是由独立于第一客户机的第二客户机修改的。
一般说来,另一方面,本发明旨在提供包括如下单元的系统:数据服务器,用于维护存储与标识符标识的对象相关的数据的数据库,具有描述对象的多个方面的属性的对象,包括与属性相关的属性值的数据;客户机,用于访问存储在数据库中的数据,每个客户机为标识符和属性定义一组规则;和综合服务器,用于与客户机和数据服务器通信,综合服务器响应于来自客户机的对数据的请求,将数据服务器中的数据映射成具有遵从客户机定义的规则的格式的数据。
本发明的实现方案可能包括如下特征。综合服务器利用包括以可扩充标记语言编写的代码的消息与客户机和数据服务器通信。
一般说来,另一方面,本发明旨在提供用于动态访问主数据、有形地存储在机器可读媒体上的计算机程序产品,该计算机程序产品包括起使可编程处理器执行如下步骤作用的指令:接收来自客户机的请求,以访问存储在服务器维护的数据库中的数据,从数据库中检索第一组数据,根据客户机定义的一组映射规则将第一组数据映射成第二组数据,和将第二组数据发送到客户机。
本发明的实现方案可能包括一个或多个如下特征。存储在数据库中的数据包括对象的属性值。对象包括产品。对象包括商业伙伴。该指令起使可编程处理器除去第一组数据中与客户机无关的属性数据的作用。独立于服务器的客户机不时地修改该组映射规则。
一般说来,另一方面,本发明旨在提供用于动态访问存储在客户机可访问的数据库中的主数据、有形地存储在机器可读媒体上的计算机程序产品,该计算机程序产品包括起使可编程处理器执行如下步骤作用的指令:接收标识符和与标识符标识的对象相关的数据,对于每个客户机,核实标识符和数据是否遵从客户机定义的一组规则,并将标识符和数据输入到数据库。
本发明的实现方案可能包括一个或多个如下特征。数据包括与对象相关的属性值。该指令起使可编程处理器核实数据是否符合与对象的属性有关的客户机定义的一子组规则的作用。该子组规则包括定义属性值的可接受格式的规则。该指令起使可编程处理器核实标识符是否符合与对象的标识有关的客户机定义的一子组规则的作用。该子组规则包括定义标识符的可接受格式的规则。该指令起使可编程处理器将数据与标识符联系在一起的作用。该指令起使可编程处理器将请求从客户机发送到服务器,以请求与标识符相关的数据,和将数据库中与标识符相联系的数据转换成客户机可接受的格式的作用。对象包括产品。对象包括商业伙伴。服务器利用以可扩充标记语言编写的消息与客户机通信。该指令起使可编程处理器对于每个客户机,将请求发送到客户机,以请求核实标识符和数据是否遵从客户机定义的该组规则,和如果特定客户机无响应,将客户机放在异常列表上,以指示标识符和数据没有被核实为遵从特定客户机定义的该组规则的作用。该指令起使可编程处理器在预定时间间隔之后,或当特定客户机试图访问数据库中的数据时,启动核实识符和数据是否遵从特定客户机定义的该组规则的另一次尝试的作用。
一般说来,另一方面,本发明旨在提供用于动态访问主数据、有形地存储在机器可读媒体上的计算机程序产品,该计算机程序产品包括起使含有客户机和服务器的计算机系统执行如下步骤作用的指令:将请求从第一客户机发送到服务器,以修改与对象相关的一组数据,该组数据存储在服务器维护的数据库中,接收服务器已经锁定该组数据,使得只有客户机才能修改该组数据的消息,将一组修改数据发送到服务器,以便将数据存储在数据库中,和接收该组修改数据已存储在数据库中的消息,其中,服务器对其它客户机的每一个确定其它哪些客户机可以访问该组修改数据,和核实该组修改数据是否遵从客户机定义的一组规则。
本发明的实现方案可能包括一个或多个如下特征。该组数据包括与对象相关的属性值。客户机定义的该组规则包括定义属性值的可接受格式的规则。该指令起使计算机系统将属性值与客户机公布的检验表相比较的作用,每个检验表指示客户机可访问的属性。对象包括产品。对象包括商业伙伴。该指令起使服务器利用包括以可扩充标记语言编写的代码的消息与客户机通信的作用。
本发明的一个或多个实施例的细节在附图和如下的描述中得到展示。本发明的其它特征、目的、和优点可从如下的描述和附图中,和从权利要求书中明显看出。
附图说明
图1示出了一个异构系统;
图2示出了客户机和服务器的细节;
图3-5示出了核实主数据的相容性的进程;
图6是示出数据输入的图形;
图7示出了混合软件的结构;
图8示出了混合结构;
图9示出了利用代理访问主数据的应用程序;和
图10示出了计算机系统。
具体实施方式
具有单个主数据库的系统
参照图1,异构系统100包括主数据服务器(MDS)110、综合服务器109、和客户机系统102-106。主数据服务器110维护单个主数据库112,而客户机系统102-106同步地和动态地通过综合服务器109和主数据服务器110访问主数据库112。当第一次将数据存储到主数据库112中时,客户机系统102-106通过相容性检验进程决定存储在数据库112中的数据。当主数据服务器110或客户机系统102-106之一更新数据时,所作的改变对于所有客户机系统102-106都是可见的。利用单个主数据库112的优点在于,减少了管理开销,和消除了不同数据库的同步性带来的问题。
术语“同步”和“动态”意味着每当在客户机系统中运行的进程需要信息时,该进程可以从主数据库112中访问信息,不必在客户机方本地存储数据。该进程可以是在后台运行的批处理,或适合使用户访问、查看、和维护主数据的进程。不同进程可能需要不同的数据格式,取决于系统是如何配置的,动态地将在客户机系统和主数据服务器之间传输的数据从一种格式映射到另一种模式。每种客户机系统可以与其它系统独立地配置,并且每种系统可以不同地查看和处理主数据库112中的数据。综合服务器109动态地映射数据,以便遵从每种客户机系统和主数据服务器定义的数据格式。
参照图2,客户机114用于代表客户机系统102-106的任何一个。不同应用程序,例如,访问与产品有关的数据的销售应用程序116和产品应用程序118可以在客户机114上运行。应用程序116和118访问产品服务层124提供的功能。产品用户接口120与产品服务层124交互,为用户提供数据的图形表示。产品服务层124属于客户机114,提供根据与客户机114相关的产品模型处理数据的功能。例如,客户机114可以含有用于管理客户关系的应用程序。这些应用程序可能需要与传送给客户和从客户传送的产品有关的数据。在客户机114上运行的应用程序所使用的产品数据可能包含产品数据,但不包含财务数据。客户机114不存储任何与产品有关的数据。取而代之,通过综合服务器109中的交换接口126将访问这样数据的所有请求路由到主数据服务器110。
主数据服务器110的主要功能是维护存储在主数据库112中的主数据。不同应用程序,譬如,访问主数据的应用程序128和130可以在主数据服务器110上运行。应用程序128和130访问产品服务层134提供的功能。产品用户接口132与产品服务层134交互,为用户提供数据的图形表示。产品服务层134属于主数据服务器110,提供根据与主数据服务器110相关的产品模型处理产品数据的功能。产品服务层134可访问主数据库112。当在客户机114上运行的应用程序需要访问存储在主数据库112中的主数据时,通过交换接口126将该请求路由到产品服务层134。交换接口126可以使用对等连接与产品服务层124和134连接。
与客户机114相关的产品模型可以不同于与主数据服务器110相关的产品模型。因此,当产品服务层124通过产品服务层134访问主数据库112时,需要语义映射。
产品服务层124提供客户机的应用程序可以使用的相容应用程序编程接口。这使得维护和升级销售应用程序116和产品应用程序118更加容易。产品服务层属于客户机,因此,不同客户机可以拥有不同的产品服务层。客户机系统的每个产品服务层和它的相关应用程序可以独立于其它客户机系统的产品服务层地得到修改或升级。
维护主数据
当生成或修改主数据时,数据应该与在客户机上运算的商业进程相容。为了使进程正确地工作,该进程需要依靠它使用的数据的相容性。当生成或更新主数据时,哪些客户机将使用数据是不知道的。因此,在使用数据之前,可能与数据有关的所有客户机都要对数据进行相容性检验。
当用户维护(例如,添加,修改,或删除)主数据时,用户应该保证所作的改变与在客户机上运行的进程相容。用户需要来自系统的即时响应来通知不相容,这有助于使数据相容。
来自客户机的相容性规则可能相互矛盾。当发生矛盾时,由于不存在满足所有客户机的数据选项,所以不可能维护主数据对象。然后,在可以生成主数据对象之前,必须由维护数据的用户来协调客户机。
相容性可以在写入数据时或在读取数据时加以检验。在读取数据时检验相容性的优点在于,每个客户机在读取数据时,保证它的进程所使用的数据的相容性。缺点是读操作比写操作更频繁地进行,因此,在读取数据时检验相容性的效率比写入数据时低。另一个缺点是,当在读操作期间发现不相容时,不可能解决不相容性问题。可能需要中止访问不相容数据的进程,和找出输入数据的人员以确定是否可以纠正和正确数据应该是什么。相比之下,在写入数据时检验相容性的优点在于,在实际保存和写入数据库之前可以请用户纠正数据。
参照图3,当用户通过主数据服务器110将新数据输入主数据库112中时,执行数据输入进程142。在这个例子中,在主数据服务器110上进行主数据的维护。客户机A 114和客户机B 144与综合服务器109连接。用户选择用户界面(例如,屏幕)来生成和锁定(146)新产品的新输入。举例来说,用户选择号码“4711”来标识新产品。在将新输入保存在主数据库112中之前,锁定标识符“4711”,以便其它用户不能用它来标识另一个产品。锁定过程保证了只有一个人可以创建与标识符“4711”有关的主数据库。
为了保证所有应用程序都能够通过其标识符访问输入到主数据库112的数据,对照定义标识符的可接受格式的模式检验(148)标识符(即,号码“4711”)。主数据服务器110、客户机A 114和客户机B 144每一个都可以拥有它自己与其它模式不同的模式。例如,主数据服务器110可以使用要求标识符具有小于10个位的模式。在核实标识符遵从主数据服务器110所要求的模式之后,将请求从主数据服务器110发送到综合服务器109,以便对照各种客户机生成的模式核实标识符。
综合服务器109含有有关客户机可以访问新数据的信息。例如,客户机A 114和客户机B 144两者都可以访问与“产品”有关的数据。综合服务器109将对照模式检验标识符的请求路由(150)到相关客户机,在这种情况下,相关客户机是客户机A 114和客户机B 144。当客户机A 114接收到核实标识符的请求时,客户机A 114对照它自己的模式检验(152)标识符。如果标识符与模式不匹配,将错误消息发送到主数据服务器110,指示用户必须选择另一个标识符。同样,客户机B 144对照它自己的模式检验(154)标识符,并且,如果标识符与模式不匹配,将错误消息发送到主数据服务器110。检验148、152和154保证了主数据服务器110、客户机A 114和客户机B 144都可以使用对于主数据服务器110、客户机A 114和客户机B 144的每一个有效的标识符访问新数据。
如果标识符的格式已经得到核实,用户继续维护与产品4711相关的一般属性。该属性可以是,例如,产品的简要文本描述、基本度量单位、销售度量单位、产品价格、产品数量、产品的计划参数、或产品的销售商。一般属性是与多于一个的客户机有关的属性。
用户为每个属性输入属性值,然后,检验(158)属性值是否满足为那些属性设置的相容性规则。例如,相容性规则可以要求,如果添加了新度量单位,需要拥有到现有度量单位的转换因子。举另一个例子,相容性规则可以要求,如果用数字表示产品价格,也必须指定货币。
主数据服务器110将请求发送到综合服务器109,以请求核实属性值。综合服务器109将该请求路由(160)到相关客户机。一旦接收到该请求,客尸机A 114就对照客户机A 114定义的相容性规则检验(162)属性值,并且,如果发生违背规则现象,将一个消息发送到主数据服务器110。例如,客户机A 114可以定义要求基本度量单位附带销售度量单位的相容性规则(例如,如果销售人员以箱为单位销售产品,他需要这个度量单位-箱、和一箱有多少产品的附加信息)。另一个相容性规则可能要求用欧元指定价格。
一旦接收到核实属性的请求,客户机B 144就对照客户机144定义的规则检验(164)属性值。例如,相容性规则可能要求如果不开放有计划运行,只能改变生产时间(例如,由于有计划运行依靠不变的生产时间,所以可能需要这一点)。
在客户机A 114和客户机B 144核实该属性遵从那些客户机定义的规则之后,用户选择一个界面(例如,屏幕)来维护(166)与,例如,销售有关的数据。与销售有关的属性可能只与客户机A 114有关,而与客户机B 144无关。综合服务器109始终监视哪些类型的属性与哪个或哪些客户机有关。在用户添加或修改了与销售有关的数据之后,主数据服务器110将请求发送到综合服务器109,以核实数据是否遵从客户机的相容性规则。综合服务器109将请求路由(168)到相关客户机,在本例中,相关客户机是客户机A 114。一旦接收到该请求,客户机A 114就对照客户机A 114定义的与销售数据有关的相容性规则检验与销售有关的数据。如果数据与相容性规则相容,主数据服务器110将新数据保存(172)到主数据库112中。
主数据也可以由客户机的用户利用界面实现维护对话来维护。可以将界面设计成只显示和维护与客户机有关的数据。
参照图4,当客户机更新主数据库112中的数据时,执行数据维护进程174。在本例中,客户机A 114想要更新与产品4711有关的数据。客户机A 114“打开”(176)产品7411,这可能意味着示出使用户可以输入标识符“产品4711”以识别需要修改什么数据的图形用户界面。
客户机A 114将请求发送到综合服务器109,请求(178)来自主数据服务器110的数据。一旦接收到该请求,主数据服务器110就读取和锁定(180)与产品4711有关的数据。锁定是由主数据服务器110完成的,与哪个客户机改变数据无关。主数据服务器110需要知道哪个客户机锁定数据,以便将这个信息传送给试图访问该数据的另一个客户机。将数据发送到综合服务器109,综合服务器109将该数据映射成具有客户机A 114的格式的数据。举例来说,客户机A 114维护与销售有关的数据。客户机114使用图形用户界面来显示只示出与销售有关的数据的视图。客户机A 114上的用户开始维护(182)(例如,修正或删除)与销售有关的数据。对照其它客户机和主数据服务器110定义的相容性规则对更新的数据进行相容性检验。
客户机A 114将请求发送到服务器109以启动核实进程。综合服务器109将该请求路由(186)到相关客户机。在本例中,由于销售数据与客户机B 144无关,综合服务器109不将该请求发送给客户机B 144。综合服务器109将该请求发送给主数据服务器110,主数据服务器110响应该请求,对照主数据服务器110定义的相容性规则对属性进行相容性检验(188)。在主数据服务器110和其它客户机发送了指示更新数据与相容性规则相容的消息之后,客户机A 114保存(90)数据,并且将消息发送到主数据服务器110,请求主数据服务器110将更新数据保存到主数据库112中。
主数据服务器110维护在不同客户机上运行的许多应用程序或进程所需的数据。维护与对象相关的数据的客户机(或使用客户机的用户)可能没有资格或未授权修改所有数据,和可能只为他自己的进程(例如,销售)维护数据。将综合服务器109配置成使用户可以只访问含有与他自己的进程有关的数据的视图,因此,只能处理这个视图的相容性要求。已经得到维护的数据(和与数据相关的对象)可以用于这个视图(即,可以用于与这个视图相关的进程)。数据不可用在还未创建的视图(例如,未来规划)中。
需要检验相容性的客户机由综合服务器109确定。综合服务器109在运行期内将检验请求路由到客户机,并且,返回每个客户机的结果,“成功消息”或描述相容性错误的一组消息。显示这些错误使用户可以修改数据以保证相容性。
在相容性检验进程中,如果客户机无应答,将客户机放在异常列表上,并且,检验进程继续对其余客户机进行检验。这保证了主数据的维护不会因一些客户机故障而中断。
参照图5,当客户机无响应时,执行数据维护进程194。主数据服务器110维护(196)与产品4711相关的数据,并且将请求发送到综合服务器109以检验相容性。综合服务器198将该请求路由(198)到相关客户机。一旦接收到该请求,客户机A 114就检验(200)属性。客户机B 144一旦接收到该请求,本来也应检验(202)属性。但是,由于一些原因(例如,系统故障),客户机B 144可能无响应。综合服务器109从客户机收集(206)所有响应,并且发现未从客户机B 144接收到响应。综合服务器109将从客户机收集的响应发送到主数据服务器110。
主数据服务器110将客户机B 144添加到(208)异常列表中,指示客户机B 144未确认更新数据是否与客户机B 144要求的相容性规则相容。主数据服务器110把更新的数据存储到主数据库112,并且开始(212)一个工作流来检查客户机B144。工作流可以在某个时间延迟之后人工地或自动地检测客户机B 144,或者,根据触发事件,譬如,当客户机B 144发送读取请求,发出可以与客户机通信的信令时来检验客户机B 144。如果综合服务器109成功地与客户机B 144通信,客户机B 144检验(214)属性以核实相容性。一旦从客户机B 144接收到没有冲突的确认,主数据服务器110就从异常列表中除去(216)客户机B 144。
利用上面的手段,当客户机不能用在网络中时,主数据维护进程不会停止。不相容数据不会传递给客户机。异常列表用于确定应该暂时拒绝哪些客户机访问对象,直到相容性检验已经完成为止。
相容性和机构单元
数据对象的属性可以是“机构单元”。为机构单元生成的数据可以只与某些客户机有关。例如,当生成第一制造工厂的计划数据时,可能只有为第一制造工厂执行计算的应用程序(例如,高级计划或优化应用程序)需要该数据,该数据可能与为第二制造工厂执行计算的计划应用程序无关。
综合服务器109只将数据路由到与数据有关的客户机。相容性检验由那些客户机来进行。如果综合服务器109处理的消息包含对两个机构的引用,那么,该消息可能分解成两个子消息,和每个子消息都用于进行相容性检验。这种手段也可以用于根据除了机构单元之外的属性将数据路由到不同客户机。
偶尔,数据可能得不到正确路由。因此,将客户机设计成以不中断客户机正常操作的方式对无关数据作出反应。例如,如果第二制造工厂的计划应用程序接收到第一制造工厂的数据,那么,取代将错误返回给相容性检验进程,计划应用程序需要忽略这个数据。
添加客户机
当将满足新相容性要求的新客户机加入异构系统100中时,在新客户机可以访问数据之前,对所有主数据进行客户机的相容性的检验。
新客户机向综合服务器109登记,和新客户机公布指示需要检验哪些属性的检验界面。对于所有数据将新客户机放在异常列表上,以便新客户机不能访问数据,直到相容性检验已经完成为止。启动与工作流212(图6)相似的工作流,对新客户机进行相容性检验。
搜索
当客户机搜索主数据时,将请求转发给主数据服务器110。最初,主数据服务器110将带有少数重要字段(例如,简要描述)的搜索结果列表返回给客户机。如果客户机需要任何或所有搜索结果的进一步信息,客户机利用读取操作(如下所述)来访问更多信息。用于搜索的主数据服务器110的应用程序编程接口(API)被设计成提供大量可能性来涵盖客户机所需的搜索选项。
当客户机请求读取主数据库112中的数据时,将该请求路由到主数据服务器110。存在,例如,两种类型的读取操作。被称为“获取标识”的一种读取操作是对对象的身份信息的请求,它返回对象标识符和某些描述性参数(例如,产品的简要文本、或商业伙伴的名称)。被称为“获取细节”的另一种读取操作是对对象的详细信息的请求,它返回与对象相联系的所有信息。
每个客户机将具有它自己在“获取细节”读取操作中客户机认为是对象部分的那些对象属性的定义。那些属性可能是主数据服务器110中已知的所有属性的一个子组。主数据服务器110含有不同的更通用数据模型是可能的,以致需要将客户机API映射成主数据服务器API。这种映射在应用程序综合层中进行。
删除
主数据库112中数据的删除可以分两步执行。首先,询问每个客户机对对象的引用是否存在。如果引用不存在,不再接受试图从那个客户机中读取与对象相关的数据的任何读取操作。并且,不将任何搜索结果返回给对象。其次,将对象存档和从主数据库112中删除对象。当所有客户机都表明不存在对对象的引用时,执行第二步。可以相对于某些客户机来“删除”一个对象(经过第2步骤),而其它客户机仍然可以访问和使用该对象。
许多进程允许从进程事务处理到与事务处理相关的主数据库的导航。例如,当生成给定产品的销售定单时,用户观看产品标识符和产品的描述。如果用户想要看得更详细一点,他可以导航到示出与产品相关的主数据,以便观看其它属性。
当客户机松散耦合时,譬如,如图2所示的例子,存在两种状况。如果客户机拥有它自己的主数据库用户界面,那么,那个主数据库用户界面应该用于显示产品主数据。如果客户机没有它自己的用户界面,那么,使用主数据服务器110的用户界面。
应用程序之间的通信
图6示出了应用程序与主数据,例如,产品数据之间的交互。用户利用用户界面218针对产品生成定单220。他利用搜索应用程序通过各种属性(例如,外部关键字、描述、或产品类型)找出某种产品。在用户在输入屏中输入数据之后,搜索应用程序检验产品是否存在。搜索应用程序调用访问产品主数据库112的产品API 222。如果搜索应用程序找到产品,产品的简要文本描述就出现在用户界面上。在用户完成输入定单的数据之后,他保存数据。当保存定单的数据时,创建到(对)产品主数据的链路(或引用)。在一些情况下,如有必要,更新产品属性。
软件层之间的通信
图7示出了客户机系统224和主数据服务器110的软件层之间的通信。客户机系统224包括用户界面226、商业服务层228、持久服务层230、和主数据库232。同样,主数据服务器110包括用户界面234、商业服务层236、持久服务层238、和数据库240。客户机系统224和主数据服务器110具有分层的软件结构。每层访问每个系统内正好在它下面的层的功能。当客户机系统224需要访问主数据服务器110的数据库240中的数据时,客户机224的商业服务层228与主数据服务器110的商业服务层238以便访问主数据。
只有主数据服务器110可访问主数据库240中的主数据。在一种操作模式中,客户机系统224不保持主数据,和只将它自己的持久服务230用于客户机专用进程数据。通过使用,例如,入口,可以集成用户界面226和234,使用户可以将用户界面226与用户界面234相链接或从用户界面226导航到用户界面234。
客户机系统224的用户界面226和商业服务层228可以直接例如通过交换接口或万维网服务直接访问主数据服务器110的商业服务层236。
客户机系统224的持久服务层230可以用主数据服务器110的商业服务层236来代表主数据的持久性。
取决于结构要求,客户机系统224的用户可以决定从商业服务层228(通过链路242)还是从持久服务层230(通过链路244)访问主数据库240。从持久服务层230连接的优点是,持久服务层230中的服务数量通常少于商业服务层228中的服务数量。这使得调整客户机系统224可以费较少劲,从而可以访问主数据库240。从持久服务层230连接的另一个优点是,使商业服务层228可以独立地,与数据存储在什么地方无关地得到配置。这使得实现图8中的混合结构比较容易。
客户机方的混合数据存储
在异构信息技术系统的一种实现方案中,客户机如何访问数据取决于客户机是如何配置的。如果客户机是独立系统,那么,将主数据直接存储在客户机的数据库中。如果客户机在含有主数据服务器的分布式环境下运行,应用主数据服务器的主数据持久性。
从开发软件的观点来看,只实现主数据的一个软件“示例”是有利的,然后,主数据的软件“示例”可以用在不同系统中一在分布式环境中,以及在综合安装情形中。这降低了开发和维护成本,并且可以提供客户统一软件。
访问主数据的“混合软件”可以利用如图8所示的结构来开发。持久服务层230被设计成它可以通过主数据服务器110的商业服务层236访问本地数据库232或远程主数据库240。这使得在定制软件这一点上可以在客户机处决定是本地还是远程维护数据。
主数据的映射
利用消息在客户机系统和主数据服务器之间交换主数据。综合服务器负责消息的路由和映射。综合服务器含有有关客户机的信息,并且,能够选择消息、数据类型、和接口的适当映射。
使用综合服务器的优点是,在客户机系统上或在主数据服务器上不必附加代码。在综合服务器上维护和存储映射规则。在一个例子中,映射规则由为客户机开发应用程序的人员开发。
从客户机访问主数据
参照图9,主数据服务器114包括用于管理产品数据的产品数据模块288。产品数据模块288包括用户界面部件282、应用程序编程接口部件284、和主数据库286。客户机应用程序250通过调用主数据中介器252的应用程序编程接口访问产品数据模块288,主数据中介器252的应用程序编程接口执行高速缓存和权限检验的功能,和确定访问本地存储的数据(当客户机被配置成独立系统时)还是访问远程存储的数据(当客户机被配置为与主数据服务器交互时)。当客户机110与主数据服务器交换时,一些数据也可以在本地得到高速缓存(例如,在客户机110的存储器中)。
主数据中介器252包括产品服务部件290、交换接口代理器292、和本地主教据库296。产品服务部件290提供应用程序250可以调用的应用程序编程接口。如果客户机110是独立系统,产品服务部件290可以通过路径298访问存储在本地主数据库296中的数据。如果客户机110被配置成与主数据服务器114交互,产品服务部件290可以通过路径300与交换接口代理器292通信。交换接口代理器292通过综合服务器109的交换接口126与主数据服务器114的应用程序编程接口284通信。应用程序编程接口284用于访问存储在主数据库286中的主数据。无论客户机110被配置成独立系统还是与主数据服务器114交互的联网系统的一部分,都只在一个数据库-本地主数据库290或主数据库286中维护主数据。
数据对象之间的链路
主数据对象和进程对象可以与某种语义相关。用像时间相关属性n:m相关那样的模式,例如,通用客户关系管理互连加以实现。
主数据存储在主数据服务器110上。主数据对象之间的链路是否应该存储在主数据服务器110的决定取决于相连客户机中链路的使用。如果在许多系统中需要链路的语义,必须将链路存储在主数据服务器110上。
一般说来,主数据服务器110不知道(或存储)进程数据。因此,客户机114负责维护从它的进程数据到引用主数据的链路。
有时,有必要在主数据服务器110上保持到进程数据的链路。主数据服务器100上这样链路的实现是通用的。
高速缓存数据
主数据的读取访问比其它主数据进程更频繁发生,并且,它往往是时间上有严格要求的应用程序的一部分。通过在客户机方高速缓存数据,可以更快地进行读取访问操作。
对于在客户机上实现高速缓存,可以使用不同的手段。哪种方法较好取决于主数据结构。一种手段是在综合服务器中高速缓存数据。在一种手段中,综合服务器可以高速缓存对读取消息操作的应答。如果相同消息被再次发送,可以从高速缓冲存储器传递该应答。在另一种手段中,可以在消息级上进行高速缓存。消息被主数据应用程序高速缓存。在又一种手段中,高速缓存对象模型。客户机主数据事务处理通常具有高速缓存机制。当与主数据服务器通信时,也可以使用这种高速缓存。
为了取得足够的高速缓存结果,在客户机的会话期间需要共享高速缓存内容。通常,这是通过在数据库上使高速缓存持久取得的。利用共享对象的新基本技术,也可以共享存储器中的高速缓冲存储器以提高性能。
当使用持久高速缓存时,客户机应该登记最后访问的时间,以便可以从高速缓冲存储器中删除旧条目。
当数据不再有用时,需要使高速缓存数据失效。由于主数据几乎不变,较好的手段是使用显式失效,而不是周期性地使之失效。当主数据发生改变时,向所有客户机广播这个信息,以便它们可以使它们的高速缓冲存储器失效。客户机也可以在方便的时候,例如,在夜里重新读取所有失效条目。在服务器方也可以提供高速缓存机制。会话之间的共享高速缓存将导致性能提高。
权限检验
用户在权限检验中起重要作用。用户有权请求某些对象或对象类型。一种手段是让来自所有客户机的所有用户存在于主数据服务器之上。可以像平常那样在主数据服务器上给出用户权限。这种手段趋向于增加系统管理。另一种手段是让所有权限检验在客户机上完成,并且让主数据服务器返回请求的任何数据。从用户管理的观点来看,这更容易些,但使相容性权限概念实现起来更加困难。
主数据服务器使用双层权限结构。在第一层中,主数据服务器将权限级分配给客户机系统。在第二层中,客户机系统可以进一步将权限级分配给客户机的用户或在客户机上运行的进程。例如,销售客户机系统可以具有读取一般数据和销售数据的权限,以及改变销售数据的权限。另一种客户机系统可以具有读取通用数据和销售数据的权限,而没有改变销售数据的权限。可以授权销售客户机系统的特定用户读取通用数据和只读取与特定产品有关的销售数据。当访问主数据时,客户机上的用户不能比客户机拥有更高的权限级。
如上所述的手段用在通过客户机访问数据的时候。当用户直接导航到主数据服务器时,他需要作为用户登录在主数据服务器上。根据他的使用状态将某些权限级授予他。
主数据管理的后果
下面描述利用主数据库集中存储数据的一些后果。
主数据服务器被设计为满足许多客户机的要求。主数据软件被设计成可灵活地使在客户机处配置之前未知的属性得到存储。可以使用在所有主数据中使用SAP提供的易扩工作台(Easy Extension Workbench)中的统一手段。
提供相容性检验框架,以便客户机可以检验数据的相容性。
软件以混合方式写成,以便取决于系统是如何连接的,可以本地或远程进行主数据的存储。
原理
表1示出了支持动态访问中心主数据服务器的原理的例子。
表1
区域 | 原理 |
混合持久 | 当开发主数据软件时,持久层应该用在客户机方或服务器方,取决于客户方的安装,使数据保存在本地数据库上或远程主数据库上。 |
高速缓存 | 高速缓存机制应该安装在客户机级上,以及服务器级上,以提高性能 |
更新 | 当进程数据发生改变时,主数据不应该发生改变。可以随进程数据(例如,材料价格)而改变的主数据(例如,材料均价)应该被建模成额外服务。 |
权限 | 服务应该安装权限检验。客户机用户可以用他们的群组特性来检验。 |
事务处理 | 如果在一次商业事务处理中涉及到几种服务,当保存数据时,应该保证数据的相容性。 |
实现主数据集中存储在主数据服务器维护的主数据库中的系统存在一些风险。综合服务器和主数据服务器需要具有高可用性(系统可靠性)。如果主数据服务器不可用,基于主数据的进程不再能运行。为了减轻主数据服务器故障引起的损害,可以在客户机上引入本地高速缓存机制。主数据中的错误可能使进程停止。因此,主数据的映射必须没有错误。所有对象都应该正确映射,和所有所需的属性都应该正确映射。系统之间的事务处理相容性也许难以实现。应该将数据模型化成不需要分两阶段提交。客户机上应用程序的定制需要得到协调。主数据模型和实现方案需要提供灵活性,以便它们可以使用其特殊属性为所有客户机服务的方式扩展主数据。
动态访问主数据的进程可以在数字电子线路中,或在计算机硬件、固件、软件、或它们的组合中实现。动态访问主数据的设备可以用可供可编程处理器执行的、在信息载体中,例如,在机器可读存储设备中或在传播信号中有形地具体化的计算机程序产品来实现。动态访问主数据的方法步骤可以由可编程处理器来完成。可编程处理器执行由指令组成的程序,通过对输入数据进行运算和生成输出完成本发明的功能。动态访问主数据的进程可以在可在包括耦合成从数据存储系统接收数据和指令和将数据和指令发送到数据存储系统的至少一个可编程处理器、至少一个输入设备、和至少一个输出设备。计算机程序是可以直接或间接用在计算机中,完成某种活动或产生某种结果的一组指令。计算机程序可以用包括编译或解译语言的任何形式编程语言写成,并且,可以以任何形式,包括作为独立程序或作为模块,部件、子例程、或适合用在计算机环境中的其它单元部署它。
适合执行由指令组成的程序的处理器包括,举例来说,通用和专用微处理器两者、和单独处理器或任何类型计算机的多个处理器之一。一般来说,处理器从只读存储器或随机访问存储器或两者接收指令和数据。计算机的基本单元是执行指令的处理器和存储指令和数据的一个或多个存储器。一般来说,计算机还包括一个或多个存储数据文件的大型存储设备,或可操作地耦合成与一个或多个存储数据文件的大型存储设备通信;这样的设备包括诸如内置硬盘和可移动盘之类的磁盘;磁光盘;和光盘。适合有形地具体化计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,举例来说,非易失性存储器包括诸如EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、和闪速存储设备之类的半导体存储设备;诸如内置硬盘和可移动盘之类的硬盘;磁光盘;和CD-ROM(光盘只读存储器)和DVD-ROM(数字多功能盘只读存储器)盘。处理器和存储器可以通过ASIC(专用集成电路)添加或合并在ASIC中。
一种这样类型计算机的例子显示在图10中,图10示出了适合实现动态访问主数据的进程的可编程处理系统(系统)256的方决图。系统256包括通过处理器(CPU)总线270耦合的处理器258、随机访问存储器(RAM)260、程序存储器262(例如,诸如闪存ROM之类的可写只读存储器(ROM))、硬盘驱动器控制器264、视频控制器266、和输入/输出(I/O)控制器268。系统256可以在,例如,ROM中被预先编程,或者,可以通过从另一个源头(例如,从软盘、CD-ROM、或另一个计算机)装载程序而被编程(或预先编程)。
硬盘驱动器控制器264与适合存储包括实现主数据软件的程序在内的可执行计算机程序的硬盘272耦合。视频控制器266与显示图形用户界面的显示器耦合。I/O控制器268通过I/O总线276与I/O接口278耦合。I/O接口278以模拟或数字形式在诸如串行链路、局域网、无线链路、和并行链路之类的通信链路上接收和发送数据。
与I/O总线276耦合的还有键盘280。可选地,对于I/O接口278和键盘280,可以使用分立连线(分立总线)。动态访问主数据的进程可以在计算机系统中实现,该计算机系统包括诸如数据服务器之类的后端部件,或包括诸如应用程序服务器或因特网服务器之类的中间件部件,或包括诸如具有图形用户界面或因特网浏览器,或它们的任意组合的客户机计算机之类的前端部件。系统的部件可以通过诸如通信网络之类的数字数据通信的任何形式或媒体连接。通信网络的例子包括,例如,局域网(“LAN”)、广域网(“WAN”)、和因特网。
计算机系统可以包括客户机和服务器。客户机和服务器一般彼此远离,并且,通常通过像上述那样的网络交互。客户机和服务器之间的关系依在各自计算机上运行和彼此具有客户机-服务器关系的计算机程序而定。
上面通过特定实施例对本发明作了描述。其它实施例也在所附权利要求书的范围之内。例如,本发明的步骤可以按不同顺序完成,并且,仍然获得所需结果。
上面已经描述了本发明的许多实施例。不过,应该明白,可以作出各种各样的修改而不偏离本发明的精神和范围。例如,综合服务器109和主数据服务器110在物理上可以驻留在同一计算机中。本发明可应用于两个部件共享的任何类型数据,不局限于“主数据”。数据可以是通用数据或应用数据。因此,其它实施例都在所附权利要求书的范围之内。
Claims (57)
1.一种动态访问数据的方法,该方法包括:
将请求从客户机发送到服务器,以访问存储在该服务器维护的数据库中的数据;
从数据库中检索第一组数据;
根据客户机定义的一组映射规则,将第一组数据映射成第二组数据;和
在客户机上接收第二组数据。
2.根据权利要求1所述的方法,其中,存储在数据库中的数据包括对象的属性值。
3.根据权利要求2所述的方法,其中,所述对象包括产品。
4.根据权利要求2所述的方法,其中,所述对象包括商业伙伴。
5.根据权利要求2所述的方法,其中,第一组数据到第二组数据的映射包括除去第一组数据中与客户机无关的属性数据。
6.根据权利要求1所述的方法,其中,独立于服务器的客户机不时地修改该组映射规则。
7.一种维护数据的方法,该方法包括:
在服务器上接收标识符和与标识符标识的对象相关的数据,服务器被配置成维护客户机可访问的数据库;
对于每个客户机,核实标识符和数据是否遵从客户机定义的一组规则;和
将标识符和数据输入到数据库。
8.根据权利要求7所述的方法,其中,所述数据包括与对象相关的属性值。
9.根据权利要求8所述的方法,其中,核实标识符和数据是否遵从该组规则包括核实数据是否符合与对象的属性有关的客户机定义的一子组规则。
10.根据权利要求9所述的方法,其中,该子组规则包括定义属性值的可接受格式的规则。
11.根据权利要求7所述的方法,其中,核实标识符和数据是否遵从一组规则包括核实标识符是否符合与对象的标识有关的客户机定义的一子组规则。
12.根据权利要求11所述的方法,其中,该子组规则包括定义标识符的可接受格式的规则。
13.根据权利要求7所述的方法,还包括将数据与标识符联系在一起。
14.根据权利要求13所述的方法,还包括将请求从客户机发送到服务器,以请求与标识符相联系的数据,和将数据库中与标识符相联系的数据转换成客户机可接受的格式。
15.根据权利要求7所述的方法,还包括:
将所述请求从服务器发送到第二服务器,该请求请求核实标识符和数据,
识别哪些客户机可以访问数据库,和
将该请求从第二服务器路由到被识别为能够访问数据库的客户机。
16.根据权利要求7所述的方法,其中,所述对象包括产品。
17.根据权利要求7所述的方法,其中,所述对象包括商业伙伴。
18.根据权利要求7所述的方法,其中,服务器利用以可扩充标记语言编写的消息与客户机通信。
19.根据权利要求7所述的方法,还包括对于每个客户机,将请求发送到客户机,以请求核实标识符和数据是否遵从客户机定义的该组规则,和如果特定客户机无应答,将客户机放在异常列表上,以指示标识符和数据未被核实为遵从特定客户机定义的该组规则。
20.根据权利要求19所述的方法,其中,在预定时间周期之后,或当特定客户机试图访问数据库中的数据时,进行核实标识符和数据是否遵从特定客户机定义的该组规则的另一次尝试。
21.一种维护数据的方法,该方法包括:
将请求从容户机发送到服务器,以请求修改与对象相关的一组数据,该组数据存储在该服务器维护的数据库中;
接收服务器已经锁定该组数据;使得只有该客户机才能修改该组数据的消息;
将一组修改数据发送到服务器,以便将修改数据存储在数据库中;
接收修改数据存储在数据库中的消息,随着服务器对其它客户机的每一个确定其它哪些客户机可以访问所述修改数据,核实该修改数据是否遵从客户机定义的一组规则。
22.根据权利要求21所述的方法,其中,该组数据包括与对象相关的属性值。
23.根据权利要求22所述的方法,其中,客户机定义的该组规则包括定义属性值的可接受格式的规则。
24.根据权利要求22所述的方法,其中,服务器通过将属性与客户机公布的检验表相比较,确定其它哪些客户机可以访问修改数据,每个检验表指示客户机可访问的属性。
25.根据权利要求21所述的方法,其中,所述对象包括产品。
26.根据权利要求21所述的方法,其中,所述对象包括商业伙伴。
27.根据权利要求21所述的方法,其中,所述服务器利用包括以可扩充标记语言编写的代码的消息与客户机通信。
28.一种方法,包括如下步骤:
提供含有允许在将数据存储在本地数据库中的第一模式和将数据存储在服务器计算机维护的远程数据库中的第二模式之间切换的模块的客户机计算机;和
提供动态地将存储在远程数据库中的数据映射成具有由客户机计算机定义的格式的数据的接口。
29.根据权利要求28所述的方法,还包括提供也具有允许在将数据存储在本地数据库中的第一模式和将数据存储在服务器计算机维护的远程数据库中的第二模式之间切换的模块的第二客户机计算机,和也动态地将存储在远程数据库中的数据映射成具有第二客户机计算机定义的第二格式的数据的接口,所述第二格式是由第二客户机独立于第一客户机修改的。
30.一种系统,包括:
数据服务器,用于维护存储与标识符标识的对象相关的数据的数据库,该对象具有描述对象的多个方面的属性,该数据包括与属性相关的属性值;
客户机,用于访问存储在数据库中的数据,每个客户机为标识符和属性定义一组规则;和
综合服务器,用于与客户机和数据服务器通信,该综合服务器响应来自客户机的对数据的请求,将数据服务器中的数据映射成具有遵从客户机定义的规则的格式的数据。
31.根据权利要求30所述的系统,其中,综合服务器利用包括以可扩充标记语言编写的代码的消息与客户机和数据服务器通信。
32.一种用于动态访问主数据、有形地存储在机器可读媒体上的计算机程序产品,该计算机程序产品包括使可编程处理器执行如下步骤的指令:
接收来自客户机的请求,以访问存储在服务器维护的数据库中的数据;
从数据库中检索第一组数据;
根据客户机定义的一组映射规则将第一组数据映射成第二组数据;和
将第二组数据发送到客户机。
33.根据权利要求32所述的计算机程序产品,其中,存储在数据库中的数据包括对象的属性值。
34.根据权利要求33所述的计算机程序产品,其中,所述对象包括产品。
35.根据权利要求33所述的计算机程序产品,其中,所述对象包括商业伙伴。
36.根据权利要求33所述的计算机程序产品,其中,该指令起使可编程处理器除去第一组数据中与客户机无关的属性数据的作用。
37.根据权利要求32所述的计算机程序产品,其中,独立于服务器的客户机不时地修改该组映射规则。
38.一种用于动态访问存储在客户机可访问的数据库中的主数据、有形地存储在机器可读媒体上的计算机程序产品,该计算机程序产品包括起使可编程处理器执行如下步骤作用的指令:
接收标识符和与标识符标识的对象相关的数据;
对于每个客户机,核实标识符和数据是否遵从客户机定义的一组规则;和
将标识符和数据输入到数据库。
39.根据权利要求38所述的计算机程序产品,其中,所述数据包括与对象相关的属性值。
40.根据权利要求39所述的计算机程序产品,其中,该指令起使可编程处理器核实数据是否符合与对象的属性有关的客户机定义的一子组规则的作用。
41.根据权利要求40所述的计算机程序产品,其中,该子组规则包括定义属性值的可接受格式的规则。
42.根据权利要求38所述的计算机程序产品,其中,该指令起使可编程处理器核实标识符是否符合与对象的标识相关的客户机定义的一子组规则的作用。
43.根据权利要求42所述的计算机程序产品,其中,所述组规则包括定义标识符的可接受格式的规则。
44.根据权利要求38所述的计算机程序产品,其中,该指令起使可编程处理器将数据与标识符联系在一起的作用。
45.根据权利要求44所述的计算机程序产品,其中,该指令起使可编程处理器将请求从客户机发送到服务器,以请求与标识符相联系的数据,和将数据库中与标识符相联系的数据转换成客户机可接受的格式的作用。
46.根据权利要求38所述的计算机程序产品,其中,所述对象包括产品。
47.根据权利要求38所述的计算机程序产品,其中,所述对象包括商业伙伴。
48.根据权利要求38所述的计算机程序产品,其中,服务器利用以可扩充标记语言编写的消息与客户机通信。
49.根据权利要求38所述的计算机程序产品,其中,该指令起使可编程处理器对于每个客户机,将请求发送到客户机,以请求核实标识符和数据是否遵从客户机定义的该组规则,和如果特定客户机无应答,将客户机放在异常列表上,以指示标识符和数据未被核实为遵从特定客户机定义的该组规则的作用。
50.根据权利要求49所述的计算机程序产品,其中,该指令起使可编程处理器在预定时间周期之后,或当特定客户机试图访问数据库中的数据时,启动核实识符和数据是否遵从特定客户机定义的该组规则的另一次尝试的作用。
51.一种用于动态访问主数据、有形地存储在机器可读媒体上的计算机程序产品,该计算机程序产品包括起使具有客户机和服务器的计算机系统执行如下步骤作用的指令:
将请求从第一客户机发送到服务器,以修改与对象相关的一组数据,该组数据存储在服务器维护的数据库中;
接收服务器已经锁定该组数据;使得只有该客户机才能修改该组数据的消息;
将一组修改数据发送到服务器,以便将数据存储在数据库中;和
接收该组修改数据已存储在数据库中的消息,其中,服务器对其它客户机的每一个确定其它哪些客户机可以访问该组修改数据,和核实该组修改数据是否遵从客户机定义的一组规则。
52.根据权利要求51所述的计算机程序产品,其中,所述组数据包括与对象相联系的属性值。
53.根据权利要求52所述的计算机程序产品,其中,客户机定义的该组规则包括定义属性值的可接受格式的规则。
54.根据权利要求52所述的计算机程序产品,其中,该指令起使计算机系统将属性值与客户机公布的检验表相比较的作用,每个检验表指示客户机可访问的属性。
55.根据权利要求51所述的计算机程序产品,其中,所述对象包括产品。
56.根据权利要求51所述的计算机程序产品,其中,所述对象包括商业伙伴。
57.根据权利要求51所述的计算机程序产品,其中,该指令起使服务器利用包括以可扩充标记语言编写的代码的消息与客户机通信的作用。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40813002P | 2002-09-03 | 2002-09-03 | |
US60/408,130 | 2002-09-03 | ||
US60/419,292 | 2002-10-16 | ||
US60/429,688 | 2002-11-27 | ||
US10/365,672 | 2003-02-12 | ||
US10/367,102 | 2003-02-13 | ||
US10/367,103 | 2003-02-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1695141A true CN1695141A (zh) | 2005-11-09 |
CN100568228C CN100568228C (zh) | 2009-12-09 |
Family
ID=35350177
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038247410A Expired - Lifetime CN100410932C (zh) | 2002-09-03 | 2003-09-03 | 在数据管理系统中分布数据的方法和系统、共享数据的系统 |
CN2008101256645A Expired - Lifetime CN101311933B (zh) | 2002-09-03 | 2003-09-03 | 接收动态访问数据的方法和系统 |
CNB038246864A Expired - Fee Related CN100568228C (zh) | 2002-09-03 | 2003-09-03 | 对数据的动态访问 |
CNB038247313A Expired - Lifetime CN100409238C (zh) | 2002-09-03 | 2003-09-03 | 中央主数据管理 |
CNB038247291A Expired - Lifetime CN100353313C (zh) | 2002-09-03 | 2003-09-03 | 协作主数据管理 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038247410A Expired - Lifetime CN100410932C (zh) | 2002-09-03 | 2003-09-03 | 在数据管理系统中分布数据的方法和系统、共享数据的系统 |
CN2008101256645A Expired - Lifetime CN101311933B (zh) | 2002-09-03 | 2003-09-03 | 接收动态访问数据的方法和系统 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038247313A Expired - Lifetime CN100409238C (zh) | 2002-09-03 | 2003-09-03 | 中央主数据管理 |
CNB038247291A Expired - Lifetime CN100353313C (zh) | 2002-09-03 | 2003-09-03 | 协作主数据管理 |
Country Status (1)
Country | Link |
---|---|
CN (5) | CN100410932C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046821B (zh) * | 2006-03-31 | 2012-04-25 | Sap股份公司 | 通用数据库操纵器 |
CN103810547A (zh) * | 2012-11-08 | 2014-05-21 | Sap股份公司 | 集成协作环境 |
WO2015067086A1 (zh) * | 2013-11-05 | 2015-05-14 | 深圳市华傲数据技术有限公司 | 一种数据库数据核算方法和装置 |
CN105468633A (zh) * | 2014-09-05 | 2016-04-06 | 中国石油化工股份有限公司 | 一种mems传感器测试记录的管理方法及其系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2612278A1 (en) * | 2010-08-31 | 2013-07-10 | ABB Technology AG | System and method for collaboration, messaging and information exchange between engineering tools |
US8510276B2 (en) * | 2010-09-29 | 2013-08-13 | Microsoft Corporation | Comparing and selecting data cleansing service providers |
US9015106B2 (en) * | 2012-04-30 | 2015-04-21 | Dell Products, Lp | Cloud based master data management system and method therefor |
KR101943988B1 (ko) | 2012-07-27 | 2019-01-31 | 삼성전자주식회사 | 컨텐트 전송 방법 및 시스템, 기기와 그 기록 매체 |
CN106301920B (zh) * | 2016-08-17 | 2019-03-19 | 浪潮通用软件有限公司 | 智能客户端模式下dmd系统与业务系统的接口配置方法 |
CN106446256B (zh) * | 2016-10-17 | 2020-05-22 | 鞍钢集团矿业有限公司 | 一种基于上下文计算的工业实时生产信息感知系统 |
CN112688998B (zh) * | 2020-12-17 | 2023-03-14 | 中国航空工业集团公司成都飞机设计研究所 | 一种可配置带权限的主数据订阅推送方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5634010A (en) * | 1994-10-21 | 1997-05-27 | Modulus Technologies, Inc. | Managing and distributing data objects of different types between computers connected to a network |
US5848241A (en) * | 1996-01-11 | 1998-12-08 | Openframe Corporation Ltd. | Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links |
DE69704489T2 (de) * | 1997-10-13 | 2001-09-20 | X-Way Rights B.V., Veldhoven | Verfahren und Vorrichtung zur strukturierten Kommunikation |
US6226650B1 (en) * | 1998-09-17 | 2001-05-01 | Synchrologic, Inc. | Database synchronization and organization system and method |
CN1262481A (zh) * | 1999-01-27 | 2000-08-09 | 电话通有限公司 | 多个数据库的同步方法及装置 |
SE515459C2 (sv) * | 1999-02-10 | 2001-08-06 | Ericsson Telefon Ab L M | Metod för att synkronisera en värddatabas och en fjärrdatabas |
US7089194B1 (en) * | 1999-06-17 | 2006-08-08 | International Business Machines Corporation | Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements |
US6529948B1 (en) * | 1999-08-31 | 2003-03-04 | Accenture Llp | Multi-object fetch component |
AU1612601A (en) * | 1999-11-15 | 2001-05-30 | Smithkline Beecham Corporation | Method for identifying unique entities in disparate data files |
-
2003
- 2003-09-03 CN CNB038247410A patent/CN100410932C/zh not_active Expired - Lifetime
- 2003-09-03 CN CN2008101256645A patent/CN101311933B/zh not_active Expired - Lifetime
- 2003-09-03 CN CNB038246864A patent/CN100568228C/zh not_active Expired - Fee Related
- 2003-09-03 CN CNB038247313A patent/CN100409238C/zh not_active Expired - Lifetime
- 2003-09-03 CN CNB038247291A patent/CN100353313C/zh not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046821B (zh) * | 2006-03-31 | 2012-04-25 | Sap股份公司 | 通用数据库操纵器 |
CN103810547A (zh) * | 2012-11-08 | 2014-05-21 | Sap股份公司 | 集成协作环境 |
CN103810547B (zh) * | 2012-11-08 | 2019-03-19 | Sap欧洲公司 | 集成协作环境 |
WO2015067086A1 (zh) * | 2013-11-05 | 2015-05-14 | 深圳市华傲数据技术有限公司 | 一种数据库数据核算方法和装置 |
CN105468633A (zh) * | 2014-09-05 | 2016-04-06 | 中国石油化工股份有限公司 | 一种mems传感器测试记录的管理方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100568228C (zh) | 2009-12-09 |
CN101311933A (zh) | 2008-11-26 |
CN1698049A (zh) | 2005-11-16 |
CN1695142A (zh) | 2005-11-09 |
CN101311933B (zh) | 2011-12-28 |
CN1695114A (zh) | 2005-11-09 |
CN100353313C (zh) | 2007-12-05 |
CN100409238C (zh) | 2008-08-06 |
CN100410932C (zh) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101151593B (zh) | 自治计算:利用动作策略进行操作的管理代理 | |
US6292894B1 (en) | System, method, and medium for retrieving, organizing, and utilizing networked data | |
CN101206589B (zh) | 用于执行库存扫描的方法与系统 | |
CN1140500A (zh) | 分布式数据库系统 | |
CN1818901A (zh) | 一种用于同数据库进行交互的方法和计算机系统 | |
CN1668010A (zh) | 用来在更新分发系统中分发更新元数据的基于标记模式 | |
CN101183379A (zh) | 用于检索数据的方法和系统 | |
CN1238494A (zh) | 计算机系统的兼容订单的生成 | |
CN1524239A (zh) | 在分布式数据库环境中的一致性读取 | |
CN1639719A (zh) | 用于基于网络的海关信息处理的系统与方法 | |
CN101196896A (zh) | 文档提供系统和方法 | |
CN1875344A (zh) | 综合业务软件的导入运用支援系统 | |
CN1695141A (zh) | 对数据的动态访问 | |
US20160321068A1 (en) | Populating a Software Catalogue with Related Product Information | |
CN102141925A (zh) | 使用第三方目标状态的适用性检测 | |
CN101694625A (zh) | 基于加密服务器管理的客户端软件更新方法及装置 | |
DE102006023974A1 (de) | System und Verfahren für maßgeschneiderte Anwendungsbestellung und Installation für Informationsverarbeitungssysteme | |
CN1549178A (zh) | 分配和更新杂散资源的方法和系统 | |
CN103455516B (zh) | 一种运维平台及数据库的维护方法 | |
CN1278261C (zh) | 硅知识产权库管理系统与方法及其用户化设计专文件的系统 | |
JP2009181490A (ja) | 受注管理装置、その受注管理方法、コンピュータプログラム | |
US7505993B2 (en) | Database schema for content managed data | |
US8396762B2 (en) | Systems and methods for validating subsititution chains of an order | |
CN1848083A (zh) | 一般软件要求分析器 | |
CN1298506A (zh) | 便于访问查询服务的方法和系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091209 Termination date: 20140903 |
|
EXPY | Termination of patent right or utility model |