一种用于复制数据的系统和方法技术方案

技术编号:8865202 阅读:139 留言:0更新日期:2013-06-29 02:20
本发明专利技术涉及一种用于在信息管理系统中的环境之间复制数据的系统及方法,例如在数据库系统中的生产环境和测试环境之间复制商业数据。该系统具有关系型数据库,该关系型数据库具有一组关系并在运行时环境外部创建,该组关系来自于第一数据库,并提供第一数据库中的数据库表之间的联系。该系统还具有服务生成器,该服务生成器在运行时期间提取并复制数据库表,以形成预定的服务或产品。当该服务生成器接收复制产品或服务的请求时,仅在包括产品或服务的数据库表中的数据是关系型数据库中的一个或多个关系的主体时提取并复制数据库表。

【技术实现步骤摘要】
【国外来华专利技术】一种用于复制数据的系统和方法
本专利技术涉及一种用于在信息管理系统中的环境之间复制数据的系统和方法,且具体地涉及在数据库系统中的生产环境和测试环境之间复制商业数据。
技术介绍
数据库系统用在广泛的企业中,用于数据的存储和操纵。例如,数据可涉及客户的个人信息以及关于他们已购买的各种产品和服务的信息。如IBMDB2UDB这样的关系型数据库系统用于存储这类数据。数据库系统依赖于为数据库实例的正常操作所存储的元数据。数据库系统在服务用户请求时,以DML(数据操作语言)语句或调用数据库实用程序的形式使用此信息。在DB2UDB中,此元数据信息被存储为数据库表和被叫做系统目录视图的视图。应用程序开发人员能够在开发应用程序时使用元数据来操纵数据库对象。DB2数据库管理员在服务来自用户的请求时使用系统目录视图和数据库实例。利用结构化查询语言SQL提供数据管理;该结构化查询语言SQL提供数据查询和更新、模式创建和修改、以及数据访问控制。最初,关系型数据库系统使用嵌入式或静态SQL操作。将静态SQL语句写入到应用程序中,并在编译该应用程序之前由依赖于数据库的SQL预处理器来对静态SQL语句进行预处理。在预处理阶段,创建DB2包,该DB2包在编译过程外部绑定。绑定过程确定访问路径。由于开放数据库互联ODBC允许SQL被创建而不必嵌入到应用程序编程语言中,且不再需要预编译,因此开放数据库互联ODBC便于动态SQL的创建。因此,应用程序中的静态SQL语句在运行时期间不改变并且能够硬编码到应用程序中。动态SQL语句在运行时期间被构建以允许用户进入他们自己的查询。因此,动态SQL语句不能够硬编码到应用程序中。由于静态SQL被预处理,这意味着语句仅被解析、验证和优化一次,因此静态SQL相对于动态SQL提供性能优势。在许多应用中,数据库系统包括数百万的数据表,且正在需要能够创建将数据从一个环境复制到另一个环境的查询。这可能是由于在现场使用之前需要测试数据库或新产品的改善。测试需要在测试环境中创建的数据。该数据通常是从可选环境中提取并加载到测试环境中的数据,该测试环境经常为生产环境。在许多情况下,由于数据库中的数据之间复杂的相互关系,测试员可能不能精确地知道需要哪些数据。测试员所选择的数据可具有不明显的底层数据需求。在对不完整数据执行测试时将发生错误。错误伴随的问题是,错误是否来源于正确规定所需要数据的失败,或测试本身是否具有更多基本问题,这对于测试员来说不是立即明显的。另一个问题是CPU容量。在许多情况下,组织将从供应商购买数据库服务,这将包括处理能力的购买。将数据从一个环境复制到另一个环境的能力要求用户创建他们自己的数据库查询,他们自己的数据库查询在可用处理能力上具有较大的需求。在实践中,此问题通过仔细管理用户创建的查询并在未充分利用系统处理能力时(例如夜晚或周末)运行这些查询来控制。这对用户不方便且相当大地减慢了产品服务的开发过程。
技术实现思路
本专利技术的一个目的是提供一种改进的用于复制数据的系统和方法。根据本专利技术的第一方面,提供一种用于将数据从信息管理系统中的第一环境复制到第二环境的系统,该系统包括:关系型数据库,包括来自于第一数据库的一组关系,所述关系提供所述第一数据库中的数据库表之间的联系,其中,所述关系型数据库在运行时环境外部创建;服务生成器,在运行时期间提取并复制数据库表,以形成预定的服务或产品,其中一旦接收复制产品或服务的请求,所述服务生成器仅在包括所述产品或服务的所述数据库表中的所述数据是包含在所述关系型数据库中的一个或多个关系的主体时提取并复制数据库表。优选地,包括所述产品或服务的所述数据库表中的所述数据是包含在所述关系的SQL命令中的一个或多个关系的主体。优选地,一种或多种类型的关系存在于所述关系型数据库中。优选地,第一种类型的关系是所述数据库表中预选择数据的索引的存在。优选地,所述关系是参照完整性关系。优选地,在数据库表被关联为参照完整性父子的情况下,将提取来自两个表的数据。优选地,所述关系是应用关系。优选地,所述系统进一步包括输入装置,以允许用户在所述第一数据库中的数据表之间创建应用关系,并允许所述数据表包括在所述关系型数据库中。通过使用静态SQL来代替动态SQL,需要较少的CPU容量来创建复制。这意味着能够在测试的任意时间创建复制。优选地,所述服务生成器包括用于加密和解密数据库表中的数据的加密装置。优选地,所述加密装置包括一个或多个SQL语句。优选地,所述服务生成器进一步包括跟踪机制,使得如果已从表中检索到所述数据,则不重读和随后再处理。通过生成可能的静态SQL语句并包括一次读取数据的机制,所述服务生成器提供可高度重用的组件,该组件能够尽可能高效地满足任意提取需求。通过包括对检索父行的程序的调用,该服务生成器还确保所提取的数据将为一组完整的参考完整性数据,且能够成功地加载。优选地,所述服务生成器进一步包括删除程序,所述删除程序通过访问所述关系型数据库来分析表定义和所述表上的全部可用索引而能够删除数据访问路径。优选地,所述服务生成器包括数据库服务生成器,所述数据库服务生成器识别包括数据库服务的一个或多个表,从所述第一数据库中提取所述一个或多个表并将所述一个或多个表加载到数据库服务中。优选地,所述服务生成器包括产品服务生成器,所述产品服务生成器识别包括产品服务的一个或多个数据库服务,从所述第一数据库中提取所述一个或多个数据库服务,并将所述一个或多个数据库服务加载到数据库服务中。优选地,所述服务生成器适于从所述数据库服务创建产品。优选地,所述第二环境是测试环境。根据本专利技术的第二方面,提供一种用于将数据从信息管理系统中的第一环境复制到第二环境的方法,所述方法包括:创建关系型数据库,所述关系型数据库包括来自于第一数据库的一组关系,所述关系提供所述第一数据库中的数据库表之间的联系,其中,所述关系型数据库在运行时环境外部创建;通过在运行时期间提取并复制数据库表来生成服务,以形成预定的服务或产品,其中一旦接收复制产品或服务的请求,所述服务仅在包括所述产品或服务的所述数据库表中的所述数据是包含在所述关系型数据库中的一个或多个关系的主体时生成。优选地,一种或多种类型的关系存在于所述关系型数据库中。优选地,第一种类型的关系是所述数据库表中预选择数据的索引的存在。优选地,所述关系是参照完整性关系。优选地,在数据库表被关联为参照完整性父子的情况下,将提取来自两个表的数据。优选地,所述关系是应用关系。优选地,所述系统进一步包括输入装置,以允许用户在所述第一数据库中的数据表之间创建应用关系,并允许所述数据表包括在所述关系型数据库中。通过使用静态SQL来代替动态SQL,需要较少的CPU容量来创建复制。这意味着能够在测试的任意时间创建复制。优选地,所述服务生成器包括用于加密和解密数据库表中的数据的加密装置。优选地,所述加密装置包括一个或多个SQL语句。优选地,所述服务生成器进一步包括跟踪机制,使得如果已经从表中检索到所述数据,则不重读和随后再处理。通过生成可能的静态SQL语句并包括一次读取数据的机制,所述服务生成器提供可高度重用的组件,该组件能够尽可能高效地满足任意提取需求。通过包括对检索父行的程序的调用,该服务生成器还确保所提取的数据本文档来自技高网
...
一种用于复制数据的系统和方法

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.09.09 GB 1014986.21.一种用于将数据从信息管理系统中的第一数据库复制到测试环境的系统,所述系统包括:关系型数据库,包括来自于第一数据库的一组关系,所述关系提供所述第一数据库中的数据库表之间的联系,其中所述关系型数据库在运行时环境外部创建;服务生成器,在运行时期间提取并加载数据库表,以形成预定的服务或产品,其中一旦接收复制数据以创建待测试的产品或服务的请求,所述服务生成器检查所述关系型数据库,以确定待创建的所述产品或服务内的所述数据库表是否被索引,并且仅在包括所述产品或服务的所述数据库表中的所述数据是包含在所述关系型数据库中的、提供所述第一数据库中的数据库表之间的联系的一个或多个关系的主体时复制所述数据,其中所述一个或多个关系是参照完整性关系,并且其中所述数据库表被关联为参照完整性父子,使得将提取来自两个表的数据。2.如权利要求1中所述的系统,其中,一种或多种类型的关系存在于所述关系型数据库中。3.如权利要求2中所述的系统,其中,第一种类型的关系是所述数据库表中预选择数据的索引的存在。4.如权利要求1中所述的系统,其中,所述系统进一步包括输入装置,以允许用户在所述第一数据库中的数据表之间创建应用关系,并允许所述数据表包括在所述关系型数据库中。5.如权利要求1中所述的系统,其中,所述服务生成器包括用于加密和解密数据库表中的数据的加密装置。6.如权利要求5中所述的系统,其中,所述加密装置包括一个或多个SQL语句。7.如权利要求1中所述的系统,其中,所述服务生成器进一步包括跟踪机制,使得如果已从表中检索到所述数据,则不重读和随后再处理。8.如权利要求1中所述的系统,其中,所述服务生成器进一步包括删除程序,所述删除程序通过访问所述关系型数据库来分析表定义和所述表上的全部可用索引而能够删除数据访问路径。9.如权利要求1中所述的系统,其中,所述服务生成器包括数据库服务生成器,所述数据库服务生成器识别包括数据库服务的一个或多个表,从所述第一数据库中提取所述一个或多个表,并将所述一个或多个表加载到数据库服务中。10.如权利要求1中所述的系统,其中,所述服务生成器包括产品服务生成器,所述产品服务生成器识别包括产品服务的一个或多个数据库服务,从所述第一数据库中提取所述一个或多个数据库服务,并将所述一个或多个数据库服务加载到数据库服务中。11.如权利要求10中所述的系统,其...

【专利技术属性】
技术研发人员:安德鲁·拉塞尔·诺森德雷克·英格利希巴里·马尔科姆·梅辛杰杰勒德·罗伯逊
申请(专利权)人:优质生活联合服务有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1