CN104239412B - 数据存储库中应用至存储库的数据映射及相关方法、系统和计算机可读介质 - Google Patents
数据存储库中应用至存储库的数据映射及相关方法、系统和计算机可读介质 Download PDFInfo
- Publication number
- CN104239412B CN104239412B CN201410399744.5A CN201410399744A CN104239412B CN 104239412 B CN104239412 B CN 104239412B CN 201410399744 A CN201410399744 A CN 201410399744A CN 104239412 B CN104239412 B CN 104239412B
- Authority
- CN
- China
- Prior art keywords
- data
- mapping
- application
- name
- repository
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Abstract
本文公开了数据存储库中应用至存储库的数据映射。还公开了相关方法、系统及计算机可读介质。在这方面,在一个实施例中,提供了一种用于提供数据存储库中应用至存储库的数据映射的方法。所述方法包括由数据存储库从应用接收命名数据对象的定义。所述方法进一步包括生成所述命名数据对象至所述数据存储库中存储的数据元素的映射。所述方法还包括将所述映射作为预定义数据结构中的应用元数据存储在所述数据存储库中。所述方法另外包括基于所述命名数据对象至所述数据元素的映射,给所述应用提供对所述数据元素的访问。所述数据存储库因而提供一种对改变数据存储库的影响最小化,同时还简化应用间的数据共享的元数据架构。
Description
技术领域
本公开文件的技术通常涉及用于存储共享应用数据的存储库。
背景技术
分布式应用为由位于联网计算机上且经一个或多个公共和/或专用网络通信以协调操作的应用组件所构成的软件系统。根据多层体系结构,分布式应用通常是结构化的,其中将所述分布式应用的演示、应用处理及数据管理从逻辑上分隔成多层。使用多层体系结构可以允许所述分布式应用的组件及数据的开发、维护及重用更有效。尤其是,将所述分布式应用的数据与其功能元件隔离可以允许在多个分布式应用间重用并共享所述数据。
一种将数据与应用功能隔离的方法涉及将数据存储在可以由若干分布式应用访问的数据存储库中。通过提供对共享数据的访问,所述数据存储库能够允许“聚合(mashups)”的开发,其是合并或聚集来自两个或更多个源的数据以提供超出源数据最初目的新服务的应用。以这种方式,聚合可以提供源数据的创建者预见或计划之外的丰富服务。
由于新分布式应用使得所述数据存储库中有可用的新共享数据,所以所述数据存储库可能需要修改或重新组织其中存储的数据元素。例如,可能需要修改以提供用于新数据的存储,和/或使得应用可发现和可访问所述新数据。然而,数据存储库的动态性质可能对分布式应用的开发及维护提出挑战。对数据元素的修改可以要求单独更新与数据存储库交互的每个分布式应用,以便为所述分布式应用维护数据的可访问性。在数据存储库的所有者无法查看所有可能正在使用数据存储库的分布式应用的情况下,这可能出现问题。通过在分布式应用与数据存储库之间包括中间映射层,可以减轻这些问题,但代价是增加了所述分布式应用的复杂性。
发明内容
详细描述中公开的实施例提供了数据存储库中应用至存储库的数据映射。还公开了相关方法、系统及计算机可读介质。在某些实施例中,应用定义的命名数据对象被映射到数据存储库中对应的数据元素。用于所述命名数据对象的映射被存储为对应于数据存储库内应用的应用元数据。所述应用能够接着通过调用数据存储库中的命名数据对象来访问数据。以这种方式,在所述数据存储库内提供一种对改变数据存储库的影响最小化,同时还简化多个应用间的数据共享的元数据架构。
在此方面,在一个实施例中,提供了一种用于提供数据存储库中应用至存储库的数据映射的方法。该方法包括由计算设备上执行的数据存储库从应用接收命名数据对象的定义。该方法进一步包括生成所述命名数据对象至数据存储库中存储的数据元素的映射。该方法还包括将所述映射作为预定义数据结构中的应用元数据存储在所述数据存储库内。该方法另外包括基于所述命名数据对象至所述数据元素的映射,给所述应用提供对所述数据元素的访问。
在另一个实施例中,提供了一种用于提供数据存储库中应用至数据库的数据映射的系统。该系统包括至少一个通信接口、以及与所述至少一个通信接口相关联的数据存储库。所述数据存储库包括数据映射提供器,所述数据映射提供器被配置为从应用接收命名数据对象的定义。所述数据映射提供器进一步被配置为生成所述命名数据对象至数据存储库中存储的数据元素的映射。所述数据映射提供器还被配置为将所述映射作为预定义数据结构中的应用元数据存储在所述数据存储库中。所述数据映射提供器另外被配置为基于所述命名数据对象至所述数据元素的映射,给所述应用提供对所述数据元素的访问。
在另一实施例中,提供了一种非暂时性计算机可读介质。所述非暂时性计算机可读介质具有其上存储的使处理器实现一种方法的计算机可执行指令,包括从应用接收命名数据对象的定义。所述计算机可执行指令实现的方法进一步包括生成所述命名数据对象至数据存储库中存储的数据元素的映射。所述计算机可执行指令实现的方法还包括将所述映射作为预定义数据结构中的应用元数据存储在数据存储库内。所述计算机可执行指令实现的方法进一步包括基于所述命名数据对象至所述数据元素的映射,给所述应用提供对数据元素的访问。
附图说明
结合到并形成说明书的一部分的附图示出了本公开文件的多个方面,与所述说明书一起用于解释本公开文件的原理;
图1为示出数据存储库的示意图,包含能够允许所述数据存储库内应用至存储库的数据映射的数据映射提供器;
图2为示出图1中用于提供应用至存储库的数据映射的数据映射提供器的示例性操作的流程图;
图3为示出由图1的数据存储库中对数据元素的修改所引起的示例性应用至存储库的数据映射的示意图;
图4为示出对应用定义的命名数据对象改变所引起的示例性应用至存储库的数据映射的示意图;
图5A及5B为示出用于应用至存储库的数据映射的更为具体的示例性操作的流程图,包括为更新应用元数据施加许可;
图6为示出应用元数据表的示例性实施例的图;以及
图7为可以包括图1的数据映射提供器的示例性的基于处理器的系统的框图。
具体实施方式
现在参考所述附图,描述本公开文件的多个示例性实施例。本文所用的词“示例性”意指“作为例子、实例或说明”。不必将本文描述为“示例性”的任意实施例解释成优于或好过其它实施例。
详细描述中公开的实施例提供了数据存储库中应用至存储库的数据映射。还公开了相关方法、系统及计算机可读介质。在某些实施例中,应用定义的命名数据对象被映射到数据存储库中对应的数据元素。用于所述命名数据对象的映射被存储为对应于数据存储库内应用的应用元数据。所述应用接着能够通过调用数据存储库中所述命名数据对象来访问数据。以这种方式,在所述数据存储库内提供一种对改变数据存储库的影响最小化,同时还简化多个应用间的数据共享的元数据架构。
在此方面,在一个实施例中,提供了一种用于提供数据存储库中应用至存储库的数据映射的方法。所述方法包括由计算设备上执行的数据存储库从应用接收命名数据对象的定义。该方法进一步包括生成所述命名数据对象至所述数据存储库中存储的数据元素的映射。该方法还包括将所述映射作为预定义数据结构中的应用元数据存储在所述数据库内。所述方法另外包括基于所述命名数据对象至数据元素的映射,给所述应用提供对所述数据元素的访问。在某些实施例中,提供对所述数据元素的访问包括提供所述映射给所述应用,其后该应用可以直接访问该数据元素。某些实施例可以规定,提供对所述数据元素的访问包括代表所述应用访问该数据元素,并返回所请求的数据给所述应用。
图1显示了一种提供本文公开的应用至存储库的数据映射的示例性分布式应用系统10。该分布式应用系统10包括计算设备14上执行的数据存储库12。在某些实施例中,作为非限制性示例,计算设备14可以是具有网络通信能力的任意计算设备,例如智能手机、平板电脑、专用的网络设备、媒体服务器、或台式机或服务器计算机。计算设备14包括用于将计算设备14连接至一个或多个公共和/或专用网络的通信接口16(诸如,例如一个或多个网络接口设备)。数据存储库12提供对数据元素18(1)-18(N)的存储及访问。在某些实施例中,数据元素18(1)-18(N)可以是文件系统、关系数据库、面向对象数据库、分布式数据存储或目录服务或其组合的数据元素。
图1的分布式应用系统10进一步包括分别在计算设备23、24及26上执行的应用19、20和22。图1的分布式应用系统10的某些实施例可以规定,作为非限制性示例,各计算设备23、24和26可以是具有网络通信能力的任意计算设备,例如智能手机、平板电脑、专用的网络设备、媒体服务器、或台式机或服务器计算机。所述应用19、20、22代表被配置为利用数据存储库12内安置的数据的分布式应用。要理解应用19、20和22各自可以包括比图1所示更多的元件,各自可以跨一个以上计算设备23、24、26分布,和/或可以利用一个以上数据存储库12。进一步要理解计算设备14、23、24和26可以位于同一公共或专用网络内,或可以位于独立的通信耦接的公共和/或专用网络内。
在图1的示例中,应用19要求访问数据存储库12内作为数据元素18(1)存储的数据。类似地,应用20要求访问数据存储库12内作为数据元素18(1)存储的数据,以及应用22请求访问数据存储库12内作为数据元素18(2)存储的数据。如图1所见,应用19通过硬编码或以别的方式明确识别应用19内数据元素18(1)来访问数据元素18(1),如箭头27所示。应用19因而“紧密耦合”至数据元素18(1)。换言之,修改数据存储库12内的数据元素18(1)(例如,为新数据提供存储和/或使其它应用可发现和可访问数据)会要求也更新应用19。否则,应用19可能失去对所需数据的访问,结果可能失去某些或全部功能。
因此,在这方面,数据存储库12包括数据映射提供器28,用于提供数据存储库12内应用至存储库的数据映射以有效地将各应用20、22与数据元素18“解耦”(即,避免之间的直接依赖)。在这个实例中,数据映射提供器28从应用20接收命名数据对象32的定义(由箭头30表示)。在某些实施例中,设计应用时由应用20的设计者或开发者给数据映射提供器28提供定义30。命名数据对象32可以代表用于对应的数据元素,例如数据元素18(1),的应用专用的别名或句柄。命名数据对象32可以是要在数据映射提供器28中创建的新数据对象,或可以是数据映射提供器28中现有的数据对象。因此,定义30可以包括将要在数据映射提供器28中创建的新命名数据对象32的名称或者句柄,和/或数据映射提供器28中现存的命名数据对象32的一种选择。定义30还包括对应的数据元素的指示,例如数据元素18(1),并可以包括所述命名数据对象32的其它应用专用的属性。
基于定义30,这一示例中的数据映射提供器28生成命名数据对象32至数据元素18(1)的映射34,并将对所述命名数据对象32的引用和所述映射34存储为应用元数据36。如本文所用的,“应用元数据”指的是引用和/或描述所述命名数据对象32的属性的存储数据,以及至对应数据元素18(1)的所述映射34。在某些实施例中,应用元数据36可以包括命名数据对象32的应用专用的属性,作为非限制性示例,例如关联的数据类型、命名空间和/或只读标记。如双向箭头38、40所示,映射34充当命名数据对象32与数据元素18(1)之间的链接。应用20可以如双向箭头42所示通过调用命名数据对象32并将其用于数据访问,来访问数据元素18(1)处的数据。数据映射提供器28接着基于命名数据对象32至数据元素18(1)的映射34,给应用20提供对数据元素18(1)的访问。在这个示例中,数据映射提供器28给应用20提供映射34,应用20然后可以利用该映射如箭头44所示直接访问数据元素18(1)。
如图1所见,数据映射提供器28还从应用22接收命名数据对象48的定义(由箭头46表示)。数据映射提供器28接着生成如箭头52所示的命名数据对象48至数据元素18(2)的映射50,并将对所述命名数据对象48的引用和所述映射50存储为应用元数据54。如箭头52和56所示,映射50用于将命名数据对象48与数据元素18(2)链接。应用22可以通过调用命名数据对象48并将其用于数据访问,来访问数据元素18(2)处的数据,如双向箭头58所示。数据映射提供器28然后基于命名数据对象48至数据元素18(2)的映射50,给应用22提供对数据元素18(2)的访问。在这个实施例中,数据映射提供器28可以从应用22接收对命名数据对象48的数据请求。数据映射提供器28接着可以基于映射50访问数据对象18(2),并将请求的数据返回给应用22。
在某些实施例中,一个以上应用20和22可以访问和/或更新一个或多个数据元素18。这些数据元素18可以视作“共享数据”。如果并发访问共享数据,数据存储库12根据本领域公知技术处理与所述共享数据的原子性、一致性、隔离性和持久性相关的问题。
在某些实施例中,一旦数据映射提供器28生成映射,可以限制对修改诸如映射34或50的映射的许可。譬如,数据映射提供器28可以将更新命名数据对象的许可限于相应于所述命名数据对象的应用的所有者和数据存储库12的所有者。类似地,某些实施例可以将更新命名数据对象的许可限于相应于该命名数据对象的应用的所有者。以这种方式,例如,应用所有者可以修改现有的命名数据对象的名称,而不影响数据存储库12内存储的用于其它应用的数据或诸如应用元数据36及54的应用元数据。在图1中,虚线框60指示命名数据对象32和映射34“属于”应用20(即,许可应用20的所有者更新命名数据对象32和映射34)。类似地,虚线框62指示命名数据对象48和映射50属于应用22。
根据本文所述的某些实施例,数据映射提供器28可以在应用元数据数据结构64中存储对应于应用20的应用元数据36,并可以进一步在应用元数据数据结构66中存储对应于应用22的应用元数据54。在某些实施例中,应用元数据数据结构64及66遵循预定义结构。某些实施例可以规定,作为非限制性示例,应用元数据数据结构64及66包括关系数据库表、面向对象的数据库实体和/或其它数据结构。通过在应用元数据数据结构中存储对应于指定应用的应用元数据,可以将该指定的应用特有的应用元数据与用于其它应用的应用元数据隔离。因此,可以减少或消除应用间潜在的负面交互。
为了概括描述图1中用于提供数据存储库12中应用至存储库的数据映射的数据映射提供器28的示例性操作,提供了图2。为清晰起见,描述图2时参考了图1的元件。在图2的示例中,操作开始于数据存储库12的数据映射提供器28从应用20接收命名数据对象32的定义30(框68)。如上所讨论的,应用20可以是经公共和/或专用网络与数据存储库12通信的分布式应用。应用20的设计者可以规定命名数据对象32的定义30,并可以识别数据元素,例如数据存储库12中的数据元素18(1)。在某些实施例中,命名数据对象32充当应用20可以访问数据存储库12内数据元素18(1)处存储的数据的接口。
继续参考图2,数据映射提供器28接下来生成命名数据对象32至数据存储库12中存储的数据元素18(1)的映射34(框70)。映射34提供了命名数据对象32和数据存储库12中存储的数据元素18(1)之间的链接。数据映射提供器28接着将映射34作为应用元数据36存储在数据存储库12中(框72)。在某些实施例中,应用元数据36存储在对应于应用20的预定义数据结构中,例如图1的应用元数据数据结构64。因此,可以分开用于多个应用各自的元数据,防止对用于一个应用的应用元数据的修改影响利用数据存储库12的其它应用。
数据映射提供器28基于命名数据对象32至数据元素18(1)的映射34,由应用20提供对数据元素18(1)的访问(框74)。在某些实施例中,提供对数据元素18(1)的访问包括数据映射提供器28给应用20提供映射34,之后应用20可以直接访问数据元素18(1)。某些实施例可以规定,提供对数据元素18(1)的访问包括数据映射提供器28代表应用20访问数据元素18(1),并将所请求的数据返回给应用20。通过使用将命名数据对象32映射到数据元素18(1)的映射34,数据映射提供器28可以提供应用20对数据存储库12中数据的访问,同时能够允许无需对应用20改变就能修改或重新组织数据元素18(1)。
通过将应用定义的命名数据对象映射到数据元素,图1的数据映射提供器28能够允许对数据存储库12进行改变,而无需对利用数据存储库12的应用20及22进行任何修改。在此方面,提供图3来示出对示例性应用至存储库的数据映射76的修改,及产生的示例性应用至数据存储库的数据映射78。在图3的示例性数据映射76中,提供“用户”数据存储库80来存储和管理用于“WebApp”应用82的数据。“用户”数据存储库80包括“在线用户”数据元素84。“用户”数据存储库80进一步提供数据映射提供器86。
如示例性数据映射76中所见的,数据映射提供器86生成了“WebApp”应用82定义的“登录”命名数据对象90至“在线用户”数据元素84的映射88。映射88因而将“登录”命名数据对象90链接至“在线用户”数据元素84,如箭头92及94所示。将映射88及“登录”命名数据对象90作为应用元数据96存储在“用户”数据存储库80中。“WebApp”应用82可以通过调用并访问“登录”命名数据对象90来访问“用户”数据存储库80中存于“在线用户”数据元素84处的数据,如箭头98所示。如虚线框100所示,“登录”命名数据对象90和映射88属于“WebApp”应用82,因为“WebApp”应用82的所有者具有针对“登录”命名数据对象90及映射88的更新许可。
继续参考图3,示例性应用至存储库的数据映射78示出数据映射提供器86如何处理对“用户”数据存储库80的修改,其影响“登录”命名数据对象90到“在线用户”数据元素84的映射。在这个实例中,将“在线用户”数据元素84表示的数据改放至“活跃用户”数据元素102,并由此更新“用户”数据存储库80。为了保留“WebApp”应用82使用“登录”命名数据对象90访问数据的能力,数据映射提供器86更新映射88以将“登录”命名数据对象90映射到“活跃用户”数据元素102,如箭头92及104所示。结果,由于修改“用户”数据存储库80,所以不必修改“登录”命名数据对象90或“WebApp”应用82。如上关于图1所述,某些实施例可以规定,数据映射提供器86可以将映射88的许可限于更新“WebApp”应用82的所有者及“用户”数据存储库80的所有者。
图1的数据映射提供器28还能够允许无需对数据存储库12中存储的数据元素做任何修改,就能对命名数据对象的定义进行改变。因此,图4示出了对示例性应用至存储库的数据映射106中命名数据对象的修改,及产生的示例性应用至存储库的数据映射108。如图3中,图4显示了为用于“WebApp”应用112的数据提供存储和管理的“用户”数据存储库110。“用户”数据存储库110包括“在线用户”数据元素114。“用户”数据存储库110进一步提供数据映射提供器116,其生成了“WebApp”应用112定义的“登录”命名数据对象120至“在线用户”数据元素114的映射118。映射118因而将“登录”命名数据对象120链接至“在线用户”数据元素114,如箭头122及124所示。将映射118及“登录”命名数据对象120作为应用元数据126存储在“用户”数据存储库110中。“WebApp”应用112可以通过调用及访问“登录”命名数据对象120来访问“用户”数据存储库110中存于“在线用户”数据元素114处的数据,如箭头128所示。如虚线框130所示,“登录”命名数据对象120及映射118属于“WebApp”应用112(即,“WebApp”应用112的所有者具有对于“登录”命名数据对象120及映射118的更新许可)。
示例性应用至存储库的数据映射108示出了图4的数据映射提供器116如何处理修改“登录”命名数据对象120的定义。在这个实例中,“WebApp”应用112通过将“登录”命名数据对象120重命名为“用户登录”命名数据对象131来重定义它。因为数据映射提供器116将初始“登录”命名数据对象120及映射118与“在线用户”数据元素114分开,因此作为将“登录”命名数据对象120修改为“用户登录”命名数据对象131的结果而无需修改“在线用户”数据元素114。如上面关于图1所述,某些实施例可以规定,数据映射提供器116可以将修改“用户”命名数据对象120的许可限于“WebApp”应用112的所有者。
提供图5A及5B来更详细地示出图1的数据映射提供器28的示例性一般化过程,以提供数据存储库12中应用至存储库的数据映射。出于说明目的,图5A及5B参考图1的分布式应用系统10及数据映射提供器28的元件。图5A详述了用于生成命名数据对象32至数据元素18(1)的映射34、并基于映射34提供对应用20的数据访问的操作。图5B显示了基于对映射34及命名数据对象32的访问许可限制来更新应用元数据36的操作。
在图5A中,处理以数据映射提供器28创建数据存储库12中例如数据元素18(1)的数据元素开始(框132)。数据映射提供器28接下来从应用20接收命名数据对象32的定义30(框134)。数据映射提供器28接着生成命名数据对象32至数据存储库12中数据元素18(1)的映射34(框136)。数据映射提供器28然后将映射34作为应用元数据结构64中的应用元数据36存储在数据存储库12中(框138)。
数据映射提供器28接下来确定是否已从应用20接收到对命名数据对象32的数据访问请求(框140)。若否,处理进行至图5B的框142。如果数据映射提供器28在判定框140确定已接收到数据访问请求,数据映射提供器28基于命名数据对象32至数据元素18(1)的映射34,提供应用20对数据元素18(1)的访问(框144)。在某些实施例中,提供对数据元素18(1)的访问包括数据映射提供器28给应用20提供映射34,之后应用20可以直接访问数据元素18(1)。某些实施例可以规定,对数据元素18(1)的访问包括数据映射提供器28代表应用20访问数据元素18(1),并将请求的数据返回给应用20。处理接着在图5B的框142重新开始。
现在参考图5B,数据映射提供器28确定是否(例如,从数据存储库12的所有者和/或应用20的所有者)接收到更新应用元数据36的请求(框142)。若否,处理返回图5A中的框140。如果接收到包括修改命名数据对象32的映射34的请求的元数据更新,数据映射提供器28检查应用20的所有者或数据存储库12的所有者是否请求所述元数据更新(框146)。在某些实施例中,数据映射提供器28可以将对更新所述命名数据对象32的映射34的许可限定为应用20的所有者或数据存储库12的所有者。因此,如果除应用20的所有者或数据存储库12的所有者之外的实体请求所述元数据更新,数据映射提供器28拒绝该更新(框148),且处理进行至图5A的框140。然而,如果应用20的所有者或数据存储库12的所有者请求所述元数据更新,则数据映射提供器28更新应用元数据36以修改命名数据对象32的映射34以便映射到更新后的数据元素18(框150)。处理然后在图5A的框140重新开始。
如果数据映射提供器28在图5B的判定框142确定接收到包括修改命名数据对象32的请求的元数据更新,数据映射提供器28检查应用20的所有者是否请求所述元数据更新(框152)。某些实施例可以规定,数据映射提供器28可以将对更新所述命名数据对象32的映射34的许可限于应用20的所有者。因此,如果除应用20的所有者之外的实体请求所述元数据更新,数据映射提供器28拒绝所述更新(框148),且处理进行至图5A的框140。然而,如果应用20的所有者请求所述元数据更新,则数据映射提供器28更新应用元数据36以修改命名数据对象32(框154)。在某些实施例中,这可以包括改变被应用20用来引用命名数据对象32的名称或句柄。处理然后在图5A的框140重新开始。
如上所讨论的,图1的数据映射提供器28生成的应用元数据可以存储在对应于应用的预定义数据结构中,例如图1的应用元数据数据结构64。图6示出了根据本文公开的某些实施例的示例性应用元数据数据结构64。在图6中,应用元数据结构64包括关系数据库表,其包含用于存储与应用20的命名数据对象32有关的属性的行156。行156包括两列,一列用于存储命名数据对象的标识符,一列用于存储所述命名数据对象被映射为的数据元素的标识符。因此,应用元数据数据结构64中的行156存储用于命名数据对象32的标识符和用于由数据映射提供器28将命名数据对象32映射为的数据元素18(1)的标识符。要理解,应用元数据数据结构64可以包括存储命名数据对象、数据元素和/或对应的应用或关系的更多属性的额外列、元素或对象。进一步理解数据映射提供器28可以包括对应于多个应用的多个应用元数据表64。
图7提供了适于运行指令以执行本文所述功能的示例性计算机系统160的示例性形式的处理系统158的示意图表示。在某些实施例中,处理系统158可以运行指令以执行图1的数据映射提供器28的功能。在这方面,处理系统158可以包括计算机系统160,其内可以运行使得处理系统158执行本文讨论的任意一种或多种方法的一组指令。处理系统158可以连接(作为非限制性示例,网络连接)到局域网(LAN)、内网、外网或互联网内的其它机器。处理系统158可以在客户端-服务器网络环境中操作,或作为点对点(或分布式)网络环境中的对等机。虽然只示出了单个处理系统158,但术语“控制器”和“服务器”可被认为还包括单独或联合运行一组(或多组)指令以执行本文讨论的任意一种或多种方法的任意机器集合。处理系统158可以是服务器、个人计算机、台式电脑、膝上电脑、个人数字助理(PDA)、计算平板、移动设备或任意其它设备,且作为非限制性示例,可以代表服务器或用户的计算机。
示例性计算机系统160包括处理设备或处理器162、主存储器164(作为非限制性示例,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)的动态随机访问存储器(DRAM),等等)和静态存储器166(作为非限制性示例,闪存、静态随机存取存储器(SRAM)等等),其可以经总线168互相通信。或者,处理设备162可以直接或经某些其它连接装置连接到主存储器164和/或静态存储器166。
处理设备162代表一个或多个处理设备,例如微处理器、中央处理单元(CPU)等。尤其是,处理设备162可以是复杂指令集计算(CISC)微处理器、简化指令集计算(RISC)微处理器、长指令字(VLIW)微处理器、实现其它指令集的处理器或实现指令集组合的处理器。处理设备162被配置为执行处理逻辑的指令170和/或高速缓存指令172以执行本文讨论的操作和步骤。
计算系统160可以进一步包括网络接口设备174形式的通信接口。它还可以包括或者不包括执行指令170、172时用来接收传送给计算机系统160的输入及选择的输入端176。它还可以包括或者不包括输出端178,其包括但不限于显示器180。显示器180可以是视频显示单元(作为非限制性示例,液晶显示器(LCD)或阴极射线管(CRT))、数字字母输入设备(作为非限制性示例,键盘)、光标控制设备(作为非限制性示例,鼠标)和/或触摸屏设备(作为非限制性示例,平板输入设备或屏幕)。
计算机系统160可以包括或者不包括数据存储设备182,其包括使用驱动器184在计算机可读介质186上存储本文描述的功能,而所述介质186上存储实现本文所述的任意一种或多种方法或功能的一组或多组指令188(例如,软件)。作为非限制性示例,所述功能能够包括处理系统158、参与用户设备和/或许可服务器的方法和/或其它功能。所述一组或多组指令188还可以在计算机系统160执行其期间,完全或至少部分驻留在主存储器164内和/或处理设备162内。主存储器164和处理设备162还构成了机器可访问存储介质。指令170、172和/或188可以进一步经网络接口设备174在网络190上传送或接收。网络190可以是内网或互联网。
虽然在示例性实施例中将计算机可读介质186显示为单个介质,但应该认为术语“机器可访问存储介质”包括存储所述一组或多组指令188的单个或多个介质(作为非限制性示例性,集中式或分布式数据库,和/或相关联的缓存及服务器)。还可以认为术语“机器可访问存储介质”包括能够存储、编码或携带用于由机器执行的一组指令170、172和/或188并使机器执行本文公开的任何一种或多种方法的介任何质。因此还可以认为术语“机器可访问存储介质”包括但不限于,固态存储器、光磁介质和载波信号。
本文公开的实施例可以用硬件及硬件中存储的指令实现,作为非限制性示例,其可以驻留在随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可移除盘、CD-ROM或本领域公知的任意其它形式的计算机可读介质中。将示例性存储介质耦接到处理器,使得处理器能够从所述存储介质读取信息或向其写信息。在替换方式中,存储介质可以集成到处理器。所述处理器及存储介质可以驻留在专用集成电路(ASIC)中。所述ASIC可以驻留在远程站中。在替换方式中,所述处理器及存储介质可以作为分立元件驻留在远程站、基站或服务器内。
还注意到本文的任意示例性实施例中描述的操作步骤被描述以便提供示例及讨论。除了所图示序列之外,描述的操作可以用众多不同序列执行。而且,单个操作步骤中描述的操作实际上可以用若干不同步骤执行。此外,可以合并所述示例性实施例中讨论的一个或多个操作步骤。要理解所述流程图所示的操作步骤可以服从于本领域技术人员显而易知的大量不同修改。本领域技术人员还理解可以使用不同技术及技巧的任意一种来表示信息及信号。作为非限制性示例,贯穿整个上述说明可以引用的数据、指令、命令、信息、信号、位、符号和芯片可以用电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任意组合来表示。
提供本公开文件的上述描述,以使得本领域任何技术人员能够制造或使用本公开文件。本公开文本的各种修改对本领域技术人员来说是显而易见的,本文定义的通用原理可以应用于其它变体,而不会偏离本公开文件的精神或范围。因此,本公开文件不旨在受限于本文描述的示例及设计,而是被赋予符合本文公开的原理及新颖性特征的最广范围。
Claims (8)
1.一种用于提供数据存储库中应用至存储库的数据映射的方法,包括:
由第一计算设备上执行的数据存储库的数据映射提供器从第二计算设备上执行的第一应用接收命名数据对象的第一定义;
由所述数据映射提供器基于所述命名数据对象的第一定义生成所述命名数据对象至所述数据存储库中存储的数据元素的第一映射;
由所述数据映射提供器将所述第一映射作为第一预定义数据结构中的应用元数据存储在所述数据存储库中;
由所述数据映射提供器将所存储的第一映射提供给第一应用,其中第一应用使用所提供的第一映射直接访问所述存储库中的数据元素;
由所述数据存储库的数据映射提供器从第三计算设备上执行的第二应用接收所述命名数据对象的第二定义,其中所述命名数据对象的第一定义不同于所述命名数据对象的第二定义;
由所述数据映射提供器基于所述命名数据对象的第二定义生成所述命名数据对象至所述数据存储库中存储的数据元素的第二映射;
由所述数据映射提供器将第二映射作为第二预定义数据结构中的应用元数据存储在所述数据存储库中;
由所述数据映射提供器基于所述命名数据对象至数据元素的第二映射向第二应用提供对来自数据元素的所请求的数据的访问;
由所述数据映射提供器将所述数据存储库中存储的数据元素更新为更新后的数据元素;
由所述数据映射提供器在应用元数据中修改所述命名数据对象至更新后的数据元素的第一映射;
由所述数据映射提供器在应用元数据中修改所述命名数据对象至更新后的数据元素的第二映射;
由所述数据映射提供器将经修改的第一映射提供给第一应用,其中第一应用使用经修改的第一映射直接访问所述存储库中的数据元素;以及
由所述数据映射提供器基于所述命名数据对象至数据元素的经修改的第二映射向第二应用提供来自数据元素的所请求的数据。
2.如权利要求1所述的方法,其中更新应用元数据包括将用于更新所述命名数据对象的第一映射的许可限定为所述数据存储库的所有者及所述第一应用的第一所有者、以及将用于更新所述命名数据对象的第二映射的许可限定为所述数据存储库的所有者及第二应用的第二所有者。
3.如权利要求1所述的方法,进一步包括:更新应用元数据以修改所述命名数据对象。
4.如权利要求3所述的方法,其中更新应用元数据以修改所述命名数据对象包括将用于更新所述命名数据对象的许可限定为第一应用的第一所有者和第二应用的第二所有者之一。
5.如权利要求1所述的方法,其中第一预定义数据结构对应于第一应用,以及第二预定义数据结构对应于第二应用。
6.如权利要求1所述的方法,进一步包括:在接收所述命名数据对象的第一定义和所述命名数据对象的第二定义之前,创建所述数据存储库中的数据元素。
7.一种用于提供数据存储库中应用至存储库的数据映射的系统,包括:
至少一个通信接口;以及
与所述至少一个通信接口相关联的数据存储库,所述数据存储库包括数据映射提供器,所述数据映射提供器被配置为:
从另一个系统上执行的第一应用接收命名数据对象的第一定义;
基于所述命名数据对象的第一定义生成所述命名数据对象至所述数据存储库中存储的数据元素的第一映射;
将第一映射作为第一预定义数据结构中的应用元数据存储在所述数据存储库中;
经由所述至少一个通信接口将所存储的第一映射提供给第一应用,其中第一应用使用所提供的第一映射直接访问所述存储库中的数据元素;
从第三计算设备上执行的第二应用接收所述命名数据对象的第二定义,其中所述命名数据对象的第一定义不同于所述命名数据对象的第二定义;
基于所述命名数据对象的第二定义生成所述命名数据对象至所述数据存储库中存储的数据元素的第二映射;
将第二映射作为第二预定义数据结构中的应用元数据存储在所述数据存储库中;
经由所述至少一个通信接口,基于所述命名数据对象至数据元素的第二映射向第二应用提供来自数据元素的所请求的数据,其中第二应用通过所述数据映射提供器访问数据元素;
将所述数据存储库中存储的数据元素更新为更新后的数据元素;
更新应用元数据以修改所述命名数据对象至更新后的数据元素的第一映射以及修改所述命名数据对象至更新后的数据元素的第二映射;
经由所述至少一个通信接口将经修改的第一映射提供给第一应用,其中第一应用使用经修改的第一映射直接访问所述存储库中的数据元素;以及
经由所述至少一个通信接口,基于所述命名数据对象至数据元素的经修改的第二映射向第二应用提供来自数据元素的所请求的数据,其中第二应用通过所述数据映射提供器访问数据元素。
8.一种非暂时性计算机可读介质,具有其上存储的使处理器实现一种方法的计算机可执行指令,包括:
从第一计算设备上执行的第一应用接收命名数据对象的第一定义;
基于所述命名数据对象的第一定义在第二计算设备上生成所述命名数据对象至数据存储库中存储的数据元素的第一映射;
将第一映射作为第一预定义数据结构中的应用元数据存储在所述数据存储库中;
将所存储的第一映射提供给第一应用,其中第一应用使用所提供的第一映射直接访问所述存储库中的数据元素;
从第三计算设备上执行的第二应用接收所述命名数据对象的第二定义,其中所述命名数据对象的第一定义不同于所述命名数据对象的第二定义;
基于所述命名数据对象的第二定义生成所述命名数据对象至所述数据存储库中存储的数据元素的第二映射;
将第二映射作为第二预定义数据结构中的应用元数据存储在所述数据存储库中;
基于所述命名数据对象至数据元素的第二映射向第二应用提供来自数据元素的所请求的数据,其中第二应用通过数据映射提供器访问数据元素而不交换来自数据元素的数据;
将所述数据存储库中存储的数据元素更新为更新后的数据元素;
更新应用元数据以修改所述命名数据对象至更新后的数据元素的第一映射以及修改所述命名数据对象至更新后的数据元素的第二映射;
将经修改的第一映射提供给第一应用,其中第一应用使用经修改的第一映射直接访问所述存储库中的数据元素;以及
基于所述命名数据对象至数据元素的经修改的第二映射向第二应用提供来自数据元素的所请求的数据,其中第二应用通过数据映射提供器访问数据元素而不交换来自数据元素的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/923,748 | 2013-06-21 | ||
US13/923,748 US20140379634A1 (en) | 2013-06-21 | 2013-06-21 | Application-to-repository data mapping in data repositories, and related methods, systems, and computer-readable media |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239412A CN104239412A (zh) | 2014-12-24 |
CN104239412B true CN104239412B (zh) | 2017-11-24 |
Family
ID=52111783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410399744.5A Expired - Fee Related CN104239412B (zh) | 2013-06-21 | 2014-06-23 | 数据存储库中应用至存储库的数据映射及相关方法、系统和计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140379634A1 (zh) |
CN (1) | CN104239412B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9531808B2 (en) | 2013-08-22 | 2016-12-27 | Avaya Inc. | Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media |
US9747032B2 (en) * | 2014-05-13 | 2017-08-29 | Netapp, Inc. | System and method for location-based device naming |
US10540176B2 (en) * | 2015-11-25 | 2020-01-21 | Sonatype, Inc. | Method and system for controlling software risks for software development |
US10997197B2 (en) | 2016-09-27 | 2021-05-04 | International Business Machines Corporation | Dependencies between site components across geographic locations |
CN113407497B (zh) * | 2021-05-14 | 2022-11-15 | 南瑞集团有限公司 | 基于厂站端监控系统全景数据的一键重命名方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696961A (en) * | 1996-05-22 | 1997-12-09 | Wang Laboratories, Inc. | Multiple database access server for application programs |
CN101652787A (zh) * | 2007-03-30 | 2010-02-17 | 微软公司 | 共享可定制多租户数据的存储器中高速缓存 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061515A (en) * | 1994-07-18 | 2000-05-09 | International Business Machines Corporation | System and method for providing a high level language for mapping and accessing objects in data stores |
US6119130A (en) * | 1996-03-28 | 2000-09-12 | Oracle Corporation | Method and apparatus for providing schema evolution without recompilation |
US6999956B2 (en) * | 2000-11-16 | 2006-02-14 | Ward Mullins | Dynamic object-driven database manipulation and mapping system |
US7379934B1 (en) * | 2004-07-09 | 2008-05-27 | Ernest Forman | Data mapping |
US7849100B2 (en) * | 2005-03-01 | 2010-12-07 | Microsoft Corporation | Method and computer-readable medium for generating usage rights for an item based upon access rights |
US8234312B2 (en) * | 2006-02-28 | 2012-07-31 | Sap Ag | Schema mapping and data transformation on the basis of layout and content |
US8434097B2 (en) * | 2009-12-30 | 2013-04-30 | Sybase, Inc. | Dynamic data binding for MBOs for container based application |
US9461870B2 (en) * | 2013-05-14 | 2016-10-04 | Google Inc. | Systems and methods for providing third-party application specific storage in a cloud-based storage system |
-
2013
- 2013-06-21 US US13/923,748 patent/US20140379634A1/en not_active Abandoned
-
2014
- 2014-06-23 CN CN201410399744.5A patent/CN104239412B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696961A (en) * | 1996-05-22 | 1997-12-09 | Wang Laboratories, Inc. | Multiple database access server for application programs |
CN101652787A (zh) * | 2007-03-30 | 2010-02-17 | 微软公司 | 共享可定制多租户数据的存储器中高速缓存 |
Also Published As
Publication number | Publication date |
---|---|
CN104239412A (zh) | 2014-12-24 |
US20140379634A1 (en) | 2014-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111213340B (zh) | 选择用于密码功能的证明委托并使其安全 | |
CN104160381B (zh) | 多租户环境中租户特定数据集的管理方法及其系统 | |
CN104239412B (zh) | 数据存储库中应用至存储库的数据映射及相关方法、系统和计算机可读介质 | |
US10148757B2 (en) | Migrating cloud resources | |
CN107967316A (zh) | 一种数据同步方法、设备及计算机可读存储介质 | |
US20170048314A1 (en) | Migrating cloud resources | |
US20150066817A1 (en) | System and method for virtual assistants with shared capabilities | |
CN108737325A (zh) | 一种多租户数据隔离方法、装置及系统 | |
CN105531688B (zh) | 提供作为其它服务的资源的服务 | |
CN101360123B (zh) | 一种网络系统及其管理方法 | |
US20110022582A1 (en) | Indexing of Partitioned External Data Sources | |
US20150067503A1 (en) | System and method for virtual assistants with agent store | |
CN103294610B (zh) | 可重复使用的内容可寻址存储 | |
US20130046792A1 (en) | Preserving and handling native data in hybrid object trees | |
CN111858615A (zh) | 数据库表生成方法、系统、计算机系统和可读存储介质 | |
CN109408751A (zh) | 一种数据处理方法、终端、服务器及存储介质 | |
US11126503B2 (en) | Pre-filtering of join execution over multi-column range summaries and other synopses | |
CN109117252A (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN107408065A (zh) | 监视应用加载 | |
CN106933891A (zh) | 访问分布式数据库的方法和分布式数据服务的装置 | |
US11334601B2 (en) | Unified data model | |
US11157467B2 (en) | Reducing response time for queries directed to domain-specific knowledge graph using property graph schema optimization | |
EP2965492A1 (en) | Selection of data storage settings for an application | |
CN110222047A (zh) | 一种动态表单生成方法和装置 | |
CN111316297A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171124 Termination date: 20210623 |
|
CF01 | Termination of patent right due to non-payment of annual fee |