访问受限数据的优化处理方法

文档序号:6532943阅读:373来源:国知局
访问受限数据的优化处理方法
【专利摘要】本发明提供了一种用于处理分布式数据的访问受限数据以用于将分布式数据的数据集提供给软件应用的实例(408)的用户(410)的计算机实现的方法,软件应用的后端系统设施包括:集中式数据库(302),用于永久地存储分布式数据的非访问受限数据;以及至少一个本地系统,用于永久地存储分布式数据的访问受限数据,每个本地系统与相应第一组区域和/或者实体相关联,并且包括至少一个联合式数据库(300),该联合式数据库用于提供非访问受限数据和访问受限数据的联合式视图(306),该方法包括步骤:-由路由实体将来自用户(410)和/或者软件应用实例(408)的分布式数据的数据集的请求路由到至少一个本地系统或者集中式数据库,其中路由基于第一和第二组区域和/或者第一和第二组实体之间的匹配,用户和/或者实例与第二组区域和/或者实体相关联,其中所请求的数据集由数据的第一和第二部分构成,-在路由到至少一个本地系统的情况下,在联合式数据库接收请求;在联合式数据库从集中式数据库(302)检索数据集的第一部分。
【专利说明】访问受限数据的优化处理方法

【技术领域】
[0001] 本发明涉及处理全局软件应用中的数据的【技术领域】,在多个本地部件数据库中分 布式地存储该全局软件应用的要处理的数据。

【背景技术】
[0002] 许多国家具有数据隐私法,来禁止在相应国家的外部处理和永久存储特定类型的 数据。例如,德国法律仅允许当相应客户明确同意时将客户的联系信息传送到EU/EEA区域 夕卜。对于实现以将区域商业处理整合到全球商业处理为特征的"全球整合企业"(GIE)战 略,这构成主要障碍,这种战略是以能够没有任何限制地处理全球分布式数据为条件的。
[0003] US 2011/0191862公开了一种用于根据用户位置限制访问所请求数据的系统和方 法。该方法包括:从提供具有到预定标准的精度的信息的源接收数据请求并且确定该数据 请求的原始位置信息。该方法还包括:检索与所请求数据相关联的一个或者多个策略;将 原始位置信息与该策略进行比较;以及根据该比较动态地调整对所请求数据的访问限制。
[0004] 作者Rafae Bhatti等人所写的、在2008年11月6日的IP. com中公开的出版物 "Federated Access Control in Distributed Data Warehouse in Application,'公开了一 种在联合式数据库系统中利用中间件根据用户的访问权限,自动路由查询的方法。在此公 开的该方法公开了一种访问控制方案,该访问控制方案利用可允许有效维护LBAC策略的 新颖跟踪方案对联合式数据库应用基于标签的访问控制(Label-Based Access Control : LBAC)模型的语义。在此公开的方法基于在联合式系统中,在没有必须对每个单独用户保持 单独账户的数据库的情况下,增强访问控制的想法。公布公开了设计中间件,其在应用级根 据用户的访问权限透明地重写数据查询,这种查询当已经在远程数据库上执行时仅返回与 用户授权一致的数据。
[0005] 作者 F. Kastner 等人编写的、在 "Communications and Multimedia Security, Processings of the IFIP TC" 中公开的出版物 "Access Controls of FederatedDatabase Environments~The taxonomy of Design Choices,'公开了与访问控制 和数据库联合相关的主要设计选择的分类法,以类别粒度、授权和访问控制组织分类法。


【发明内容】

[0006] 本发明的实施例的目的是提供一种用于处理分布式数据的访问受限数据,以用于 将分布式数据的数据集提供到软件应用实例的用户的计算机实现方法。独立权利要求的主 题解决所述目的,从属权利要求描述了有益实施例。
[0007] 在第一方面中,本发明涉及一种用于处理分布式数据的访问受限数据,以用于将 分布式数据的数据集提供到软件应用的实例的用户的计算机实现方法,软件应用的后端系 统设施包括:集中式数据库,用于永久地存储分布式数据的非访问受限数据;以及至少一 个本地系统,用于永久地存储分布式数据的访问受限数据,每个本地系统分别与相应的第 一组区域和/或者实体相关联,并且包括至少一个联合式数据库,以用于提供非访问受限 数据和访问受限数据的联合式视图,该方法包括步骤:
[0008] -通过路由实体将来自用户和/或者软件应用实例的分布式数据的数据集的请 求路由到至少一个本地系统或者集中式数据库,其中路由基于第一和第二组区域和/或者 第一和第二组实体之间的匹配,用户和/或者实例与第二组区域和/或者实体相关联,其中 所请求的数据集由数据的第一和第二部分构成,
[0009] -在路由到至少一个本地系统的情况下,在联合式数据库接收请求;在联合式数 据库从第一部分存储为分布式数据的非访问受限数据的集中式数据库检索数据集的第一 部分;以及在联合式数据库从第二部分存储为分布式数据的访问受限数据的至少一个本地 系统中检索数据集的第二部分。
[0010] 所述实施例可以是有利的,因为通过全局实现软件应用的本地实例可以在通用处 理中集成隐私保护个人信息数据。同时,这种数据处理符合本地特定数据隐私法。隐私保 护个人信息数据永久地存储在本地系统中。防止用户将这些隐私保护个人信息数据存储在 集中式数据库中,从而防止违反数据隐私法。本发明还可以应用于其他访问受限数据,而非 仅适用于根据位置限制访问的隐私保护个人信息。
[0011] 必须注意,至少一个本地系统可以附加地包括至少一个本地部件数据库。分布式 数据的访问受限数据可以永久地分布式地存储在至少一个联合式数据库和/或者至少一 个本地部件数据库中。
[0012] 为了在一个通用联合式视图中使访问受限数据和非访问受限数据的联合式视图 可见,不需要修改全局软件应用的前端。产生集成了存储在集中式数据库中的非访问受限 数据和永久地存储在联合式数据库中的访问受限数据的联合式视图的关键好处之一是,对 于处于软件应用级的,特别是不处于表示层的单独用户没有影响。因此,各用户不需要接收 任何新教育。此外,该方法允许希望提供支持本地访问受限数据的解决方案的软件供应商 或者系统集成商通过仅在数据库层采用现有解决方案而不触及表示层中的任何代码从而 以成本效益高的方式实现该解决方案。
[0013] 通过保证防止访问受限数据存储在集中式数据库中,具有的附加优点是排除了数 据的双重存储,因此,提高了数据的巩固度。可以降低所有者的总成本。此外,不必产生新 用户ID。在数据来自几个数据库的情况下,用户将获得数据的视图,而无需对每个数据库创 建新用户ID。此外,不需要实现附加API。此外,还显著降低了时间价值。
[0014] 必须注意,本发明在各数据库不采用在对象级应用的授权方案。相反,能够执行在 对象级的数据存储,而不考虑任何基于位置的用户分配。因此,不需要在对象级的数据存储 方案的修改。此外,也不需要在商务应用级的软件修改。
[0015] 在这种情况下,分布式数据的本地访问受限数据是根据特定国家数据隐私法,只 有在有特定国家政府的官方许可或者如果隐私保护数据的拥有者已经明确同意对另一个 国家的、另一个法律实体或者另一个组织的特定成员组公开的情况下可以访问的数据。例 如,本地访问受限数据可以是诸如电子邮件地址、出生日期或者本地地址的隐私保护个人 信息数据。本地访问受限数据还可以指例如组织或者公司因为必须符合该法律之外的其他 原因而不希望在该组织之外或者在特定区域之外处理的特定敏感数据。如上所述,本发明 还可以应用于其他访问受限数据,而不仅应用于根据位置或者因为法律规定的限制而限制 访问的隐私保护个人信息。
[0016] 此外,分布式数据是可以永久地存储在多个本地系统中、分别在诸如不同国家、不 同法律实体或者不同组织的不同位置本地化的数据。每个本地系统都可以包括至少一个联 合式数据库并且任选地包括一个或者多个本地部件数据库。多个本地系统互相独立。
[0017] 联合式数据库系统是元数据库管理系统(DBMS)的类型,该元数据库管理系统 (DBMS)包括至少一个联合式数据库并且可以透明地将多个本地部件数据库集成为联合式 数据库。本地部件数据库可以通过计算机网络互连,并且在地理上可以是分散的。由于本地 部件系统保持自治,所以联合式数据库系统是将几个完全分立的数据库合并在一起的(有 时艰巨的)任务的相反任务。因此,在联合式数据库系统中,联合式数据库可以是全部组成 本地部件数据库的完全集成的逻辑组合。
[0018] 根据本发明实施例,在路由到集中式数据库的情况下,在集中式数据库仅检索数 据的第一部分。这保证访问受限数据保留在相应本地系统中。在路由到集中式数据库的情 况下,根据本实施例,该方法还包括在集中式数据库仅将该第一部分的视图提供给用户。因 此,保证基于地理位置的隐私保护。请求一但引导到集中式数据库,用户将不能访问保留在 相应本地系统中的访问受限数据。
[0019] 根据本发明实施例,在路由到至少一个本地系统的情况下,该方法还包括在联合 式数据库将第一部分和第二部分的联合式视图提供给用户和/或者实例。在这种情况下, 可以向用户提供请求的非访问受限数据和请求的访问受限数据。
[0020] 根据本发明实施例,第一部分包括具有第一属性的第一对象,而第二部分包括具 有第二属性的第二对象,其中第一对象对应于永久地存储在集中式数据库中的第一表的第 一主要密钥,而第二对象对应于永久地存储在本地系统中的第二表的第二主要密钥,其中 第一表包括具有第一主要密钥的第一列和具有与第一对象相关联的第一属性的第一相继 列,其中第二表包括具有第二主要密钥的第二列和具有与第二对象相关联的第二属性的第 二相继列,其中第一属性由指示符标记,指示符指出第一属性是否是对用户可访问的。根据 该实施例,产生联合式视图包括如下方法步骤:
[0021] 一产生第三主要密钥的第三列和与联合式数据库中的第三表中的第三主要密钥 相关的第三属性的第三相继列,
[0022] -对于第一属性的给定第一属性,确定所述给定第一属性的指示符是否指出该给 定第一属性是对本地系统可访问的,
[0023] -在给定第一属性是对本地系统可访问的情况下,通过执行第一主要密钥和第二 主要密钥的结合处理,产生第三主要密钥,并且通过第一和第二属性的结合处理产生第三 属性。
[0024] 所述实施例是有利的,因为集中式数据库的本地表中的指示符的概念指出从本地 系统获取每个对象的数据,从而能够产生联合式视图。这种指示符可以是与对象的属性相 关联的简单Y/N标帜(指:是/否)。例如,利用与集中式数据库系统的全局表中的对象的 属性相关联的指示符Y,本地系统获取这些属性可用并且由此可在本地数据库部件的本地 表中可访问的信息。然而,利用与集中式数据库系统的全局表中的对象的属性相关联的指 示符N,本地系统获取这些属性不可用并且由此在集中式数据库的本地表中不可访问的信 息。例如,可以根据特定国家数据隐私法进行指示符的Y/N设定。
[0025] 在这方面,对象可以是例如商务对象,比如姓名、地址、电子邮件地址的隐私数据 的属性与其相关联的客户ID。
[0026] 必须注意,经由含有授权分配的管理表,利用诸如检验用户的授权的"外部分授权 信息",可以在应用级实现包括定义允许用户A或者B或者C中的哪个用户看到本地受限数 据的授权概念。
[0027] 通过利用指示符在属性级做标记,如果允许或者拒绝对对象的单个属性进行访 问,则实现了关于永久地存储在本地自发部件数据库上的本地访问受限数据可访问性的高 度区分。尽管根据预定访问权利用高度区分的检索,产生联合式视图,但是在软件应用的相 应实例中,所产生的联合式视图具有同形质和完整的外观。
[0028] 根据本发明实施例,联合式数据库和集中式数据库是相关的并且/或者面向对象 的数据库。因此,对于所涉及的数据库的结构没有限制。可以利用相关的并且面向对象的 数据库实现数据库联合的概念。此外,不同类型的数据库的组合是可以的:可以将来自相关 数据库的数据和来自面向对象的数据库的数据组合为数据池,用于产生同形质和完整的联 合式视图。对于用户,联合式视图的可视性没有差别。
[0029] 根据本发明实施例,通过授权方案将用户和/或者实例与第二组区域和/或者第 二实体相关联。例如,可以在软件应用层采用授权法案,其中授权法案确定存在授权用户访 问至少一个本地系统,其中在存在授权的情况下,将请求路由到本地系统。
[0030] 所述实施例可以是有利的,因为通过授权用户,优选地授权特定用户组访问本地 访问受限数据,在软件应用层存在控制机制。这样构成基于预定授权概念的简单控制机制。 该授权法案可以应用于用户和软件应用的相应本地实例。仅在允许用户和软件应用的实例 访问本地访问受限数据的情况下,才根据基于用户与至少一个本地系统之间关系的预配置 位置,将用户在相应软件应用实例中发出的数据请求路由到相应本地系统。
[0031] 根据一些实施例,请求包括关于用户的当前位置的信息,其中在位置与第一组区 域匹配的情况下,仅执行到至少一个本地系统的路由。优选地,利用路由实体执行用户的当 前位置的动态检验。例如,在用户为了发送请求而采用移动电话应用的情况下,即,在移动 电话应用提供软件应用实例的情况下,能够保证仅在相应位置匹配的情况下,许可访问给 定本地系统的访问受限数据。如果用户移动到与对该本地系统分配的区域不匹配的不同位 置,则自动拒绝访问。
[0032] 根据一些实施例,系统设施是三层体系结构,该三层体系结构包括:
[0033] -表不层,软件应用的实例是表不层的一部分,其中表不层适合可视化联合式视 图,
[0034] 一中间层,该中间层至少包括:至少一个本地应用服务器,专用于至少一个本地系 统;至少一个全局应用服务器,专用于集中式数据库和应用服务器分配管理器,其中应用服 务器分配管理器是路由实体,
[0035] -数据层,该数据层包括集中式数据库和至少一个联合式数据库。
[0036] 根据该三层体系结构,用户与至少一个本地应用服务器之间的预配置关系意味 着,在应用服务器级,已经存在特定用户,优选地是特定用户组的请求如何路由到相应本地 系统的预定义配置。
[0037] 根据一些实施例,系统设施是两层体系结构,该两层体系结构包括:
[0038] -表不层,软件应用的实例是表不层的一部分,其中表不层适合可视化联合式视 图,其中软件应用的实例是路由实体,
[0039] -数据层,该数据层包括集中式数据库和至少一个联合式数据库。
[0040] 本发明的所述实施例是有利的,因为它们可以应用于不同类型的设施体系结构。 本发明的实施例不仅可以应用于在优选实施例中描述的三层体系结构,而且可以应用于两 层体系结构。因此,两个类型的应用的销售商可以采用本发明。同样,利用两个类型的应用 工作的系统集成商也可以采用本发明。
[0041] 在其他方面,本发明涉及用于处理分布式数据的访问受限数据,以用于将分布式 数据的数据集提供给软件应用实例的用户的系统,其中软件应用的后端系统设施包括:集 中式数据库,用于永久地存储分布式数据的非访问受限数据,其中该系统包括至少一个本 地系统,用于永久地存储分布式数据的访问受限数据,该至少一个本地系统包括在后端系 统设施中,每个本地系统分别与相应第一组区域和/或者实体相关联,并且包括至少一个 联合式数据库,该至少一个联合式数据库适于提供非访问受限数据和访问受限数据的联合 式视图,其中:
[0042] 一路由实体适于将来自用户和/或者软件应用实例的分布式数据的数据集的请 求路由到至少一个本地系统或者集中式数据库,其中路由基于第一和第二组区域和/或者 第一和第二组实体之间的匹配,用户和/或者实例与第二组区域和/或者实体相关联,其中 所请求的数据集由数据的第一部分和第二部分构成,
[0043] 一在路由到至少一个本地系统的情况下,联合式数据库可工作以接收请求;从第 一部分存储为分布式数据的非访问受限数据的集中式数据库检索数据集的第一部分;以及 在联合式数据库从第二部分存储为分布式数据的访问受限数据的至少一个本地系统中检 索数据集的第二部分,
[0044] -集中式数据库可工作以在路由到集中式数据库的情况下仅检索数据的第一部 分。
[0045] 在第二方面中,本发明涉及一种用于处理分布式数据的访问受限数据,以用于将 分布式数据的数据集提供给软件应用实例的用户的计算机实现方法,软件应用的后端系统 设施包括:至少一个联合式数据库,用于永久地存储分布式数据的非访问受限数据;以及 至少一个本地系统,包括用于永久地存储分布式数据的访问受限数据的至少一个本地部件 数据库,每个本地系统分别与相应第一组区域和/或者实体相关联,其中联合式数据库还 适于提供非访问受限数据和访问受限数据的联合式视图,该方法包括:
[0046] -将来自用户和/或者软件应用实例的分布式数据的数据集的请求路由到至少 一个联合式数据库,其中所请求的数据集由数据的第一部分和第二部分构成,
[0047] -在联合式数据库接收请求;在联合式数据库检索在联合式数据库中存储为分布 式数据的非访问受限数据的数据集的第一部分,
[0048] 一根据第一和第二组区域和/或者第一和第二组实体之间的匹配,在联合式数据 库通过安全网络从第二部分存储为分布式数据的访问受限数据的至少一个本地系统检索 数据集的第二部分。
[0049] 所述实施例可以是有利的,因为现在,可以在集中式数据库上执行产生联合式视 图,由此,通过使访问受限数据永久地存储在本地系统中,提高了系统设施的集中度。因此, 例如,根据相应特定国家的法律,可以防止违背特定国家的数据隐私法。通过经过安全网络 将访问受限数据从本地系统中的远程表传送到集中式数据库中的集中式联合式视图,使得 产生联合式视图的集中容易。系统设施的复杂度将降低,因为仅使一个联合式系统作为全 局数据库管理系统就足够了。整个软件系统的所有应用将违反该集中式联合式系统。
[0050] 在又一个方面中,本发明涉及一种计算机程序产品,包括用于执行上述方法步骤 的计算机可执行指令。在又一个方面中,本发明涉及一种用于处理分布式数据的访问受限 数据,以用于将分布式数据的数据集提供给软件应用实例的用户的系统,其中该系统包括 至少一个联合式数据库,该联合式数据库是软件应用的后端系统设施的一部分,其中至少 一个联合式数据库适于永久地存储分布式数据的非访问受限数据,并且用于提供非访问受 限数据和访问受限数据的联合式视图,其中后端系统设施还包括至少一个本地系统,该本 地系统包括用于永久地存储分布式数据的访问受限数据的至少一个本地部件数据库,每个 本地系统分别与相应第一组区域和/或者实体相关联,其中:
[0051] 一软件应用适于将来自用户和/或者软件应用实例的分布式数据的数据集的请 求路由到至少一个联合式数据库,其中所请求的数据集由数据的第一部分和第二部分构 成,
[0052] -联合式数据库可工作以接收请求;在联合式数据库检索在联合式数据库中存储 为分布式数据的非访问受限数据的数据集的第一部分,
[0053] -联合式数据库可工作以在联合式数据库通过安全网络从第二部分存储为分布 式数据的访问受限数据的至少一个本地系统检索数据集的第二部分,其中检索基于第一与 第二组区域和/或者第一与第二组实体之间的匹配。
[0054] 所属【技术领域】的技术人员明白,涉及用于优化本地访问受限数据的处理的方法的 第一方面的上述实施例同样适用于用于优化本地访问受限数据的处理的方法和相应系统 的第二方面。
[0055] 所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。 因此,如果未明确指出,则本发明的各方面可以为以下形式,即:完全硬件实施例、完全软件 实施例(包括固件、驻留软件、微代码等)或者组合硬件和软件方面的实施例,在此,可以或 者总的称为"模块"或"系统"。可以采用一个或者多个计算机程序产品的任意组合。

【专利附图】

【附图说明】
[0056] 通过结合附图阅读下面具体描述的本发明的实施例,可以更好地理解本发明的上 述以及其他术语、特征和优点。其中:
[0057] 图1是以联合式视图提供分布式数据的访问受限数据的方法的流程图,
[0058] 图2是在集中式数据库用作产生联合式视图的联合式数据库的情况下,处理分布 式数据的访问受限数据的方法的流程图,
[0059] 图3是示出在本地系统中产生联合式视图的框图,
[0060] 图4是示出系统设施的三层体系结构的框图。

【具体实施方式】
[0061] 图1是示出在此公开的方法的步骤的流程图。在步骤100,提供包括具有本地访问 受限数据的数据库的本地系统。例如,本地受限数据可以永久存储在至少一个本地联合式 数据库或者通过至少一个本地联合式数据库可访问的本地系统的本机部件数据库中。在步 骤102,在集中式数据库中提供非本地访问受限数据。在步骤104,接收在软件应用实例中 由用户发出的数据的请求。在步骤106,如果已经授权用户访问本地访问受限数据,则检验 用户的授权。
[0062] 在两层体系结构中,在作为路由实例的软件应用实例中,可能已经执行了授权检 验。在三层体系结构中,在作为路由实例的应用服务器分配管理器中可以检验授权。如果 在步骤108,未明确授权用户访问本地访问受限数据,则在步骤116,将该请求例如分配到 全局应用服务器。全局应用服务器专用于集中式数据库。此后,在步骤118,将请求从全局 应用服务器提供给集中式数据库。在步骤120,在处理限于存储在集中式数据库内的数据的 情况下,在集中式数据库处理该请求。
[0063] 如果在步骤110已经授权用户访问本地访问受限数据,则执行步骤124。
[0064] 如果在步骤122,已经授权软件应用的本地实例访问本地访问受限数据,则在步骤 124,将请求分配到已经专用于本地应用服务器的至少一个本地系统。本地应用服务器专用 于相应本地联合式数据库。因此,在步骤126,请求路由到本地联合式数据库。然后,在步骤 128,在本地联合式数据库处理该请求,在步骤128,利用永久地存储在至少一个本地系统和 集中式数据库中的数据执行该处理。在步骤130,本地联合式数据库提供处理数据的联合式 视图。
[0065] 图2是示出在集中式数据库用作关于存储在集中式数据库中的和至少一个本地 系统中的数据提供联合式视图的联合式数据库的情况下,数据请求的工作流的流程图。必 须注意,在通过安全网络连接能够访问存储访问受限数据的任何本地系统的情况下,应当 只能采用图2所示的方法。例如,可以使用采用端到端加密的加密信道(例如,采用https)。 此外,或者作为选择,可以利用对称密码术和非对称密码术对数据加密。
[0066] 在图2中,在步骤100,提供本地系统,该本地系统包括本地访问受限数据的储存 器。此外,在步骤102,提供集中式数据库,该集中式数据库包括非本地访问受限数据。在步 骤104,接收数据请求,例如,在软件应用的本地实例中该数据请求由用户发出。
[0067] 与图1不同,在步骤200,在集中式数据库与至少一个本地自治数据库部件之间存 在安全网络的情况下,始终将请求分配给至少一个全局应用服务器。在这种情况下,假定系 统设施包括三层体系结构,其中全局应用服务器专用于集中式数据库。
[0068] 根据在软件应用实例中发出数据请求的用户之间的预配置关系,在步骤202,数据 请求路由到集中式数据库。集中式数据库用作关于永久地存储在至少一个本地系统中的和 集中式数据库中的数据提供联合式视图的联合式数据库。
[0069] 在步骤204,为了利用对象的属性填充联合式数据库的列,如果授权发出数据请求 的用户访问永久地存储在相应本地系统的至少一个远程表中的对象的属性,则可以进行检 验。利用含有授权分配的管理表,通过检验用户的授权,可以实现允许用户A或者B或者C 中的哪个查看本地受限数据的检验。将根据用户的当前位置执行该检验。当前位置例如可 以是以给定位置的用户ID的固定分配。作为选择,用户的当前空间位置可以包括在请求 中。在这两种情况下,在集中式数据库中进行上述检验。
[0070] 如果在步骤206,未授权用户访问永久地存储在至少一个本地系统中的远程表中 的对象的属性,则这些属性保持对该用户不可见。因此,在步骤208,从作为联合式数据库的 集中式数据库中的全局表中仅检索相应对象的属性。
[0071] 在步骤210明确授权用户访问至少一个本地系统中的对象的这些属性的情况下, 在步骤212,通过经过安全网络传输这些属性以用于在集中式数据库中提供联合式视图,从 联合式视图中检索这些属性。
[0072] 图3是示出本地联合式数据库300中的联合式视图306的方框图。通过从本地系 统300的本地表310中检索本地访问受限数据来产生该视图。
[0073] 集中式数据库302的全局表308 (ADRC)的主要密钥312a (CLIENT和ADDRNUM)与本 地表310 (LOCAL. ADRC)的主要密钥312b (CLIENT和ADDRNUM)匹配。主要密钥312a和312b 在集结合的发生后是联合式数据库300中的联合式视图306 (ADRC)中的主要密钥312c的 基础。主要密钥312a和312b以及312c对应于在分别在全局表308、分别在本地表310以 及在联合式视图306中分配属性314a和316a、314b以及314c和316c的对象。
[0074] 在所示的例子中,在图3中,对于全局软件应用的所有本地系统,属性316a OTHERS是可访问的。相反,对于属性314,指示符318,在这种情况下的PI_FLAG用于确定必 须从本地表310中检索哪个值以及必须从全局表308中检索哪个值。在联合式视图306ADRC 中,在指示符318, S卩,PI_FLAG已经设定在Y上的情况下,相应属性314a NAME_TEXT仅作 为属性314bNAME_TEXT可见。否则,从全局表308ADRC从含有相应对象312a的属性314a NAME_TEXT的列检索联合式视图306的相应属性314c NAME_TEXT。
[0075] 在所示的例子中,在图3中,联合式数据库300中的联合式视图306的列 3160THERS与集中式数据库302中的全局表308ADRC中的列316a0THERS相同,因为在这种 情况下,将含有相应对象312a的属性OTHERS的列316a定义为可以自由访问全局软件应用 的本地系统。
[0076] 下面的典型结构说明如何建立联合式数据库来支持本地访问受限数据(DB2是 IBM公司的商业关系数据库管理系统(RDBMS)):
[0077] 建立 Linux、Unix 和 Windows 的 DB2
[0078] 下面的描述假定已经创建了新数据库系统实例,并且假定对于远程数据库系统上 的每个最终用户表都存在创建关于DB2系统的昵称的脚本,对于我们,该远程数据库系统 就是z/OS的DB2。
[0079] 1.通过将DBMS配置参数FEDERATED设定为YES使能联合 [0080] 2.创建新数据库并且连接其
[0081] 3.寄存DRDA包装器,从而使能访问远程DB2系统:......
[0082] 4.寄存ζ/OS系统的远程DB2作为服务器:......
[0083] 5.寄存用户映射,以将本地db系统的DB2连接用户映射到远程db系统的DB2连 接用户。用户映射是联合服务器授权ID和数据源用户ID以及密码之间的关联。默认地, 用户映射存储在联合式服务器上的目录中,但是它们也可以存储在诸如LDAP服务器上的 外部中心库中。
[0084] 6.在远程系统中更新数据源统计数据(通过DB2RUNSTATS)。该步骤是性能良好 的联合式查询需要的。在创建昵称时,将远程统计数据输运到本地系统并且被查询优化器 利用。可以利用存储SYSPR0C. NNSTAT的过程更新本地统计数据。
[0085] 7.寄存昵称:对于z/OS系统目录和每个用户表,这是通过访问DB的脚本实现的, 该脚本必须在LUW系统的DB2上创建名称相同的昵称,例如:
[0086] CREATE NICKNAME 〈SCHEMA〉· KNA1 FOR 0S390.〈SCHEMA〉· DEPARTMENT
[0087] (其中0S390是指向远程DB2/z数据库的服务器的名称)。
[0088] 8.对于含有PI数据的每个表,必须执行下面的步骤:
[0089] 一抛弃在先前步骤创建的昵称(必须由联合式视图代替)
[0090] -在模式" REMOTE "中对远程表创建昵称
[0091] 一创建包括所有密钥列和所有PI列的对应本地表。使用同一表名称,但是使用 "LOCAL"作为模式名称
[0092] 一在加入该数据的原始模式中创建联合式视图。对于不含有PP-PI数据的所有 行,从远程表中取行。对于含有PP-PI数据的所有行,远程数据与本地数据连接在一起,并 且在结果集中使用所有本地列,而不使用远程列(具有一些默认值,例如,"空白")。
[0093] 例子:为了说明该想法,假定表ADRC具有以CLIENT和ADDRNUMBER作为主要密钥 的5列以及3个附加列,NAME_TEXT、OTHERS和PI_FLAG。还假定需要保护列NAME_TEXT,并 且对于必须保护的那些地址,将PI_FLAG设定为"Y",否则设定为"N"。在这种情况下,需要 下面的SQL语句:
[0094] - DROR NICHNAME<SCHEMA>. ADRC
[0095] - CREATE NICHNAME REMOTE. ADRC FOR
[0096] 0S390.〈SCHEMA〉· DEPARTMENT
[0097] - CREATE TABLE LOCAL. ADRC (CLIENT VARCHAR (9) , ADDRNUMBER VARCHAR(30), NAME_TEXT VARCHAR(50))
[0098] - CREATE VIEW〈SCHEMA〉· ADRC as (SELECT*FR0M REMOTE. ADRC WHERE PI_FLAG =' Ν')UNION ALL (SELECT L. CLIENT, L. ADDRNUMBER, L. NAME_TEXT,R. OTHERS, R. PI_FLAG FROM REMOTE. ADDRC R, LOCAL. ADRC L where R. CLIENT = L. CLIENT and R. ADDRNUMBER = L. ADDRNUMBER and R. PI_FLAG =' Y,)
[0099] 9.优选地,那些数据库上运行的商务应用可以具有应用专用配置/目录表,因为 性能和/或者功能原因,该应用专用配置/目录表应当在本地保持在两个数据库系统中,而 不利用昵称代替。
[0100] 图4是以三层体系结构的形式示出系统设施的方框图。三层体系结构400包括表 示层402、中间层404和数据层406。
[0101] 表示层402包括诸如软件应用408的商务应用。在表示层402中,用户410能够 发出特定数据请求。作为对其请求的响应,用户410还能够看到在表示层402中的软件应 用408中其数据请求的结果。
[0102] 表示层402与中间层404相连。中间层404的应用服务器412是全局数据中心 420的部分,因此,在下面将其称为全局应用服务器。应用服务器426是本地数据中心422 的部分,因此,在下面,将中间层404的那些应用服务器426称为本地应用服务器426。
[0103] 将全局应用服务器412连接并且指定到数据层406的集中式数据库302。集中式 数据库302也是全局数据中心420的一部分。将中间层404的地址应用服务器426连接 并且指定到本地联合式数据库300。联合式数据库300是相应本地数据中心(即,本地系 统)422的一部分。集中式数据库302和相应本地联合式数据库300由连接418连接。
[0104] 利用永久地存储在本地系统中的数据以及存储在集中式数据库302中的数据,本 地联合式数据库300能够产生联合式视图。例如,集中式数据库302用于永久地存储分布 式数据的非访问受限数据,并且本地系统402可以包括至少一个联合式数据库300,并且任 选地包括用于永久地存储分布式数据的访问受限数据的至少一个本地部件数据库(在此 未示出)。
[0105] 中间层404的应用服务器指定管理器424能够将用户的数据请求路由到(各)本 地或者全局应用服务器。根据用户与至少一个本地应用服务器426的预配置关系,执行数 据请求到至少一个本地应用服务器426的路由。用户410与相应应用服务器之间的基于预 配置位置的关系包括数据请求的特定处理的预定义配置。因此,该关系取决于用户的位置 以及应用服务器426指定到的相应区域。如果匹配,则执行到应用服务器426的路由。如 果不匹配,则应用服务器分配管理器将请求路由到(各)应用服务器412。
[0106] 利用用户组的概念,可以在特定管理工具中在应用级定义其,从而事先确定用户 组中的哪个数据请求将路由到全局应用服务器412中的哪个或者哪个本地应用服务器 426。因此,能够在应用级定义哪个本地用户或者用户组允许访问特定本地应用服务器426。 这可以在特定国家实现。优选地,该授权方法基于指示符的设定。
[0107] 在另一个实施例中,应用服务器分配管理器424可以是根据本发明的目的经过修 改后的SAP负载平衡器工具。
[0108] 在图4所示的实施例中,在集中式数据库302中,只存储没有隐私保护的数据。不 允许隐私保护个人信息的用户只能经由通过全局应用服务器412的相应路由访问存储在 集中式数据库中的数据。这些用户当尝试访问隐私保护个人信息时只能看到默认值。
[0109] 将允许访问存储在本地系统上的隐私保护个人信息的本地用户的请求路由到本 地应用服务器426中已经指示使用本地联合式数据库300的一个本地应用服务器,该本地 联合式数据库300提供也含有隐私保护个人信息的联合式视图。当请求数据时,授权看到 隐私保护个人信息的这些本地用户将与不允许这样做的用户看到相同的屏幕,仅是该屏幕 现在含有来自本地系统的隐私保护个人信息和来自集中式数据库302的非隐私保护个人 信息。
[0110] 为了使能根据用户的单独授权组合和集成处理数据从而访问隐私保护个人信息 的该行为,使用本地数据库管理系统的联合能力。数据的联合是将来自本地表的与来自远 程数据源的数据相关,如同所有数据在本地存储在联合式数据库中。联合式数据库300主 要包括指向全局表308的昵称和将远程个人信息数据与本地隐私保护个人信息连接在一 起的联合式视图306。利用昵称,能够检索远程个人信息数据。
[0111] 利用本地分布式数据库,图4所示的体系结构能够用于几种隐私保护个人信息处 理数据库方案。在这种情况下,每个位置都需要其自己的(各)本地应用服务器426。
[0112] 所有隐私保护个人信息数据都存储在本地数据库中。数据库管理系统(DBMS)必 须是联合式DBMS支持联合式视图,其中DBMS管理集中式数据库。
[0113] 隐私保护个人信息数据永远不存储在集中式数据库中,并且永远不离开本地系统 环境。只有不是隐私保护个人信息的数据存储在集中式数据库中。
[0114] 附图标记列表
[0115] 300 :本地联合式数据库
[0116] 302 :集中式数据库
[0117] 306:联合式视图
[0118] 308:全局表
[0119] 310 :本地表
[0120] 312a、312b、312c :主要密钥描绘对象
[0121] 314a、314b、314c :隐私相关属性
[0122] 316a、316b、316c :非隐私相关属性
[0123] 318 :指示符
[0124] 400 :系统设施的三层体系结构
[0125] 402 :表示层
[0126] 404:中间层
[0127] 406:数据层
[0128] 408:全局软件应用实例
[0129] 410 :用户
[0130] 412 :全局应用服务器
[0131] 418 :集中式数据库与联合式数据库之间的连接
[0132] 420 :全局数据中心
[0133] 422 :本地数据中心
[0134] 424 :应用服务器分配管理器
[0135] 426:本地应用服务器
【权利要求】
1. 一种用于处理分布式数据的访问受限数据以用于将分布式数据的数据集提供给软 件应用的实例(408)的用户(410)的计算机实现的方法,软件应用的后端系统设施包括:集 中式数据库(302),用于永久地存储分布式数据的非访问受限数据;以及至少一个本地系 统,用于永久地存储分布式数据的访问受限数据,每个本地系统分别与相应第一组区域和/ 或者实体相关联,并且包括至少一个联合式数据库(300),所述联合式数据库用于提供非访 问受限数据和访问受限数据的联合式视图(306),所述方法包括步骤: 一由路由实体将来自用户(410)和/或者软件应用实例(408)的分布式数据的数据集 的请求路由到至少一个本地系统或者集中式数据库,其中路由基于第一和第二组区域和/ 或者第一和第二组实体之间的匹配,用户和/或者实例与第二组区域和/或者实体相关联, 其中所请求的数据集由数据的第一和第二部分构成, 一在路由到至少一个本地系统的情况下,在联合式数据库接收请求;在联合式数据库 从第一部分存储为分布式数据的非访问受限数据的集中式数据库(302)检索数据集的第 一部分;以及在联合式数据库从第二部分存储为分布式数据的访问受限数据的至少一个本 地系统中检索数据集的第二部分。
2. 根据权利要求1所述的方法,其中,在路由到集中式数据库的情况下,在集中式数据 库仅检索数据的第一部分。
3. 根据权利要求2所述的方法,其中,在路由到集中式数据库(302)的情况下,所述方 法还包括在集中式数据库(302)仅将第一部分的视图提供给用户(410)。
4. 根据权利要求1所述的方法,其中,在路由到至少一个本地系统的情况下,所述方法 还包括在联合式数据库(300)将第一和第二部分的联合式视图(306)提供给用户和/或者 实例。
5. 根据权利要求4所述的方法,其中,所述第一部分包括具有第一属性(314a,316a)的 第一对象,而所述第二部分包括具有第二属性(314b)的第二对象,其中所述第一对象对应 于永久地存储在集中式数据库(302)中的第一表(308)的第一主要密钥(312a),而所述第 二对象对应于永久地存储在本地系统中的第二表(310)的第二主要密钥(312b),其中所述 第一表(308)包括具有第一主要密钥(312a)的第一列和具有与所述第一对象相关联的第 一属性(314a,316a)的第一相继列,其中所述第二表(310)包括具有第二主要密钥(312b) 的第二列和具有与第二对象(312b)相关联的第二属性(314b)的第二相继列,其中所述第 一属性(314a,316a)由指示符(318)标记,所述指示符(318)指出第一属性(314a,316a) 是否是对用户(410)可访问的,其中联合式视图(306)的产生包括如下方法步骤: 一产生第三主要密钥(312c)的第三列和具有与联合式数据库(300)中的第三表(306) 中的第三主要密钥(312c)相关联的第三属性(314c,314b)的第三相继列, 一对于第一属性(314a,316a)的给定第一属性确定所述给定第一属性的指不符(318) 是否指出所述给定第一属性是对本地系统可访问的, 一在所述给定第一属性是对本地系统可访问的情况下,通过执行第一主要密钥(312a) 和第二主要密钥(312b)的结合处理产生第三主要密钥(312c),并且通过第一属性(314a, 316a)和第二属性(314b)的结合处理产生第三属性(314c,316c)。
6. 根据上述权利要求中的任何一项所述的方法,其中,所述联合式数据库和集中式数 据库(302)是相关的并且/或者面向对象的数据库。
7. 根据上述权利要求中的任何一项所述的方法,其中,由授权方案将用户和/或者实 例与第二组区域和/或者第二实体相关联。
8. 根据上述权利要求中的任何一项所述的方法,其中,所述请求包括关于用户的当前 位置的信息,其中在位置与第一组区域匹配的情况下,仅执行到至少一个本地系统的路由。
9. 上述权利要求4至8中的任何一项所述的计算机实现的方法,其中,所述系统设施是 三层体系结构(400),所述三层体系结构(400)包括: 一表示层(402),软件应用(408)的实例是所述表示层(402)的一部分,其中所述表示 层(402)适于可视化所述联合式视图(306), 一中间层(404),所述中间层(404)至少包括:至少一个本地应用服务器(426),专用于 至少一个本地系统;至少一个全局应用服务器(412),专用于集中式数据库和应用服务器 分配管理器,其中所述应用服务器分配管理器是路由实体, 一数据层(406),所述数据层(406)包括集中式数据库(302)和至少一个联合式数据库 (300)。
10. 根据上述权利要求4至8中的任何一项所述的计算机实现的方法,其中,所述系统 设施是两层体系结构,所述两层体系结构包括: 一表示层(402),软件应用(408)的实例是所述表示层(402)的一部分,其中所述表示 层(402)适于可视化所述联合式视图(306),其中所述软件应用(408)的实例是路由实体, 一数据层(406),所述数据层(406)包括集中式数据库(302)和至少一个联合式数据库 (300)。
11. 一种用于处理分布式数据的访问受限数据以用于将分布式数据的数据集提供给软 件应用实例(408)的用户(410)的系统,其中软件应用的后端系统设施包括:集中式数据库 (302),用于永久地存储分布式数据的非访问受限数据,其中所述系统包括至少一个本地系 统,用于永久地存储分布式数据的访问受限数据,所述至少一个本地系统包括在后端系统 设施中,每个本地系统分别与相应第一组区域和/或者实体相关联,并且包括至少一个联 合式数据库(300),所述联合式数据库适于提供非访问受限数据和访问受限数据的联合式 视图(306),其中: 一路由实体适于将来自用户(410)和/或者软件应用实例(408)的分布式数据的数据 集的请求路由到至少一个本地系统或者集中式数据库,其中路由基于第一和第二组区域和 /或者第一和第二组实体之间的匹配,用户和/或者实例与第二组区域和/或者实体相关 联,其中所请求的数据集由数据的第一和第二部分构成, 一在路由选择到至少一个本地系统的情况下,联合式数据库可工作以接收请求;从第 一部分存储为分布式数据的非访问受限数据的集中式数据库(302)检索数据集的第一部 分;以及在联合式数据库从第二部分存储为分布式数据的访问受限数据的至少一个本地系 统中检索数据集的第二部分, 一集中式数据库可工作以在路由到集中式数据库的情况下仅检索数据的第一部分。
12. -种用于处理分布式数据的访问受限数据以用于将分布式数据的数据集提供给软 件应用实例(408)的用户(410)的计算机实现的方法,软件应用的后端系统设施包括:至少 一个联合式数据库(300),用于永久地存储分布式数据的非访问受限数据;以及至少一个 本地系统,包括至少一个用于永久地存储分布式数据的访问受限数据的至少一个本地部件 数据库,每个本地系统分别与相应第一组区域和/或者实体相关联,其中所述联合式数据 库(300)还适于提供非访问受限数据和访问受限数据的联合式视图,所述方法包括: 一将来自用户(410)和/或者软件应用实例(408)的分布式数据的数据集的请求路由 到至少一个联合式数据库(300),其中所请求的数据集由数据的第一部分和第二部分构成, 一在联合式数据库接收请求;在联合式数据库检索在联合式数据库中存储为分布式数 据的非访问受限数据的数据集的第一部分, 一根据第一和第二组区域和/或者第一和第二组实体之间的匹配,在联合式数据库通 过安全网络从第二部分存储为分布式数据的访问受限数据的至少一个本地系统检索数据 集的第二部分。
13. -种计算机程序产品,包括用于执行上述方法权利要求中的任何一项要求保护的 方法步骤的计算机可执行指令。
14. 一种用于处理分布式数据的访问受限数据以用于将分布式数据的数据集提供给软 件应用实例(408)的用户(410)的系统,其中,所述系统包括至少一个联合式数据库(300), 该联合式数据库(300)是软件应用的后端系统设施的一部分,其中至少一个联合式数据库 (300)适于永久地存储分布式数据的非访问受限数据,并且用于提供非访问受限数据和访 问受限数据的联合式视图,其中所述后端系统设施还包括至少一个本地系统,所述本地系 统包括用于永久地存储分布式数据的访问受限数据的至少一个本地部件数据库,每个本地 系统与相应第一组区域和/或者实体相关联,其中: 一软件应用(408)适于将来自用户(410)和/或者软件应用实例(408)的分布式数据 的数据集的请求路由到至少一个联合式数据库(300),其中所请求的数据集由数据的第一 和第二部分构成, 一联合式数据库可工作以接收请求;在联合式数据库检索在联合式数据库中存储为分 布式数据的非访问受限数据的数据集的第一部分, 一联合式数据库可工作以在联合式数据库通过安全网络从第二部分存储为分布式数 据的访问受限数据的至少一个本地系统检索数据集的第二部分,其中检索基于第一与第二 组区域和/或者第一与第二组实体之间的匹配。
【文档编号】G06F17/30GK104094261SQ201380007724
【公开日】2014年10月8日 申请日期:2013年1月24日 优先权日:2012年2月1日
【发明者】A.梅尔, J.许茨纳, T.雷克, V.西曼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1