CN103180848B - 一种用于复制数据的系统和方法 - Google Patents
一种用于复制数据的系统和方法 Download PDFInfo
- Publication number
- CN103180848B CN103180848B CN201180043639.2A CN201180043639A CN103180848B CN 103180848 B CN103180848 B CN 103180848B CN 201180043639 A CN201180043639 A CN 201180043639A CN 103180848 B CN103180848 B CN 103180848B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- service
- product
- tables
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012360 testing method Methods 0.000 claims abstract description 22
- 239000000284 extract Substances 0.000 claims abstract description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000007613 environmental effect Effects 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 239000000047 product Substances 0.000 description 26
- 238000000605 extraction Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000003068 static effect Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种用于在信息管理系统中的环境之间复制数据的系统及方法,例如在数据库系统中的生产环境和测试环境之间复制商业数据。该系统具有关系型数据库,该关系型数据库具有一组关系并在运行时环境外部创建,该组关系来自于第一数据库,并提供第一数据库中的数据库表之间的联系。该系统还具有服务生成器,该服务生成器在运行时期间提取并复制数据库表,以形成预定的服务或产品。当该服务生成器接收复制产品或服务的请求时,仅在包括产品或服务的数据库表中的数据是关系型数据库中的一个或多个关系的主体时提取并复制数据库表。
Description
技术领域
本发明涉及一种用于在信息管理系统中的环境之间复制数据的系统和方法,且具体地涉及在数据库系统中的生产环境和测试环境之间复制商业数据。
背景技术
数据库系统用在广泛的企业中,用于数据的存储和操纵。例如,数据可涉及客户的个人信息以及关于他们已购买的各种产品和服务的信息。如IBM DB2 UDB这样的关系型数据库系统用于存储这类数据。
数据库系统依赖于为数据库实例的正常操作所存储的元数据。数据库系统在服务用户请求时,以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语句并包括一次读取数据的机制,所述服务生成器提供可高度重用的组件,该组件能够尽可能高效地满足任意提取需求。通过包括对检索父行的程序的调用,该服务生成器还确保所提取的数据将为一组完整的参考完整性数据,且能够成功地加载。
优选地,所述服务生成器进一步包括删除程序,所述删除程序通过访问所述关系型数据库来分析表定义和所述表上的全部可用索引而能够删除数据访问路径。
优选地,所述服务生成器包括数据库服务生成器,所述数据库服务生成器识别包括数据库服务的一个或多个表,从所述第一数据库中提取所述一个或多个表并将所述一个或多个表加载到数据库服务中。
优选地,所述服务生成器包括产品服务生成器,所述产品服务生成器识别包括产品服务的一个或多个数据库服务,从所述第一数据库中提取所述一个或多个数据库服务并将所述一个或多个数据库服务加载到数据库服务中。
优选地,所述服务生成器适于从所述数据库服务创建产品。
优选地,所述第二环境为测试环境。
附图说明
现在将仅参考附图通过示例的方式描述本发明,附图中:
图1是根据本发明的系统的结构的图示;
图2是图示本发明与现有技术相比时的优势的示意图;以及
图3是示出根据本发明示例的复制数据的过程的流程图;以及
图4示出根据本发明的系统的实施例的示意纵览。
具体实施方式
图1是具有数据库的根据本发明的系统的结构的图示。在一般以附图标记1所示出的图中,示出IBM DB2数据库3,IBM DB2数据库3包括表示为X1至X3…的多个数据表,这些数据库中的每个包括用于保留关于例如人的姓名、地址、电话号码以及其他事项的信息的字段,其他事项例如保险单号、金融服务产品、中介明细等等。在各数据表中,字段中的至少一些可被索引。众所周知的,索引使得更容易搜索大型数据库中的数据。
关系型数据库5包括一组关于已从数据库3中导出的数据表的信息,在该数据库3中,数据表包含对定义数据表之间的联系和关系的目的有效的关系。在本发明的此示例中,该有效的关系为那些定义或描述父子数据库表之间的数据索引、应用关系或参照完整性的关系。
数据库服务7包括经由关系型数据库发现并组成数据库服务的多个表,该多个表例如客户明细9、报酬11、发票13等等。这些数据库服务依次用于创建一般由附图标记15并由附图标记17和19示出的产品服务。
本发明提供一种快速且高效的用于复制数据的系统及方法。通过创建关系型数据库并规定数据表在数据库中(其被称之为在关系型数据库中)的使用,本发明确保在运行时环境外部很好定义的路径为用于创建数据库服务和产品服务的路径。在各已知的复制工具中,在运行时期间使用动态SQL进行数据表之间的路径的确定,如需要哪些数据库的计算和识别以及将使用哪些路径。这要求显著的处理器能力且在一些示例中已经计算出比使用本发明慢了10倍。
图2是图示本发明与现有技术相比时的优势的示意图。
数字21示出时间线23,该时间线23图示使用现有技术24和本发明25在各环境之间进行数据的复制有关的时间。该时间线被垂直线27分开,该垂直线27标记在数据库系统的预运行时环境和运行时环境之间的理论上的改变。
如上所述,动态SQL的使用需要更多的处理,且还需要许多处理步骤的重复。相反,本发明使用关系型数据库来提供能够与静态SQL一起使用的预定义数据路径和定义,且在运行时处理方面需要较少。
图3是流程图31,其描述了本发明的过程的示例的纵览。在本示例中,用户定义33一组数据,例如为测试目的而将复制的新产品。在本发明的本示例中,整组数据表包含在DB2目录中。这些表的子集在仅描述了已索引或联系到其他数据表的各数据表的关系型数据库中定义。
流程图31示出用户初始化复制命令33。这定义了可形成新的或修正的产品或服务的一组数据,用户希望复制并测试该新的或修正的产品或服务。进行检查35以确定是否对该产品或服务中的全部数据表进行了索引,即,在该关系型数据库中是否表示了全部数据表。如果存在全部数据表,则通过首先提取数据37然后加载数据39进行复制。在下面参照图4的示例更详细地描述该过程。如果一个或多个数据表不在关系型数据库中,则通知用户45,并请求用户创建允许将数据表加入到关系型数据库中的关系。一旦在关系型数据库中定义了该产品或服务的全部未索引数据表,就可进行复制产品或服务的过程。
图4示出根据本发明的系统的实施例。系统51被设计为允许快速并容易地复制用户定义的产品和服务,且包括DB2目录53和关系型数据库55,该DB2目录53包含可用于创建产品或服务的全部数据表,该关系型数据库55在本示例中包括关于包含在DB2目录53中的数据库的子集的信息。该子集是已索引或联系的数据表。
系统进一步包括实施产品服务63、数据服务65以及数据访问服务67的产品服务生成器57、数据库服务生成器59以及数据访问生成器61。每个产品服务包括一个或多个数据访问服务和/或数据服务。在每种情况下,能够提取并加载数据,且在数据访问服务的情况下,可实施加密67b和数据删除67d。
如之前所描述的,关系型数据库55包含关于数据表的信息,该信息允许数据表在产品和服务的创建/复制中使用。在本示例中,关系型数据库55包含以下信息:
·用于表的数据访问程序的名字;
·表与表的关系;
·可用的索引;
·哪些表形成数据库服务;
·哪些数据库服务形成产品服务;以及
·加密要求。
数据访问生成器61根据数据表创建数据库服务。为了实现该创建,其生成多达5个COBOL程序,为了数据提取和加载以及支持复制本定义和绑定语句,需要该COBOL程序。
生成的程序为:
·提取程序;
·RI父程序;
·加密程序;
·删除程序;以及
·加载程序。
对于数据提取,在本示例中,具有多达3个程序:
·数据提取程序;
·RI父程序;以及
·加密程序。
表提取程序包含独立块的SQL,以为到所选数据的每个可能的访问路径选择全部列。生成器通过访问IBM DB2目录53和关系型数据库55以分析表定义及其可用索引来做此选择。
在需要数据加密时,数据访问生成器61将实施代码以进行加密。如果可能,则该加密将在SQL语句中进行,但是如果不可能,则数据访问生成器61将利用单独的加密程序进行加密,并从表提取程序中调用此加密。
通过访问关系型数据库55和DB2数据库53,数据访问生成器61知道与正在生成的表相关的其他表。这将是关系型数据库中定义的但来自关于DB2数据库的信息的关系,或者是是用户定义的关系。对于每个关系,数据访问生成器61将识别将要调用的程序并插入代码以进行调用。
在从作为另一个表的RI子表的表中提取数据的情况下,生成器将提出程序调用,以检索父数据。将请求该数据以从正生成的表中成功地加载该数据。将创建代码以确定是否调用父表的表提取程序或RI父程序。不管调用哪个程序,生成器将设置输入参数,以尽可能高效地检索父数据。
本发明还具有跟踪机制,使得如果已经从表中检索到数据,则不重读及随后再处理。数据访问生成器61将插入合适的代码,以使用于检查以察看是否已经在执行SQL之前读取数据的方式可用。
数据访问生成器61被提供有通过询问关系型数据库中的表的关系来确定何时需要RI父程序的信息。RI父程序将仅利用全主键来调用,且数据访问生成器61将生成SQL以满足该要求。在访问数据之前,数据访问生成器61将提出为了检索该表的父数据所需要的任何调用。
在需要加密的情况下,加密程序进行在表提取程序中不能作为SQL的部分进行的加密。数据访问生成器61在表上存在加密时产生此程序,且将知道所期望的加密是否需要在此程序中进行或是否能够作为提取SQL的部分进行。加密的结果在运行时期间被写入日志。
一旦已经从DB2数据库中提取到完全被索引的数据,就加载形成数据库服务的数据。为了数据加载生成2个程序:
·DB2删除程序67d
·DB2加载程序67c
DB2删除67d程序包含用于针对到数据的所有可能访问路径删除所有行的SQL。数据访问生成器61通过访问IBM DB2目录以分析表定义和表上的所有可用索引而做此。针对到数据的所有可能访问路径而生成独立块的静态SQL。
DB2加载程序67c生成用于将行插入表中的SQL。在表上具有主键的情况下,数据访问生成器61将识别此主键,并增加UPDATE逻辑,使得替换而不是插入存在的行。
在本发明的此示例中,数据库服务生成器59生成2个COBOL程序。第一个控制数据提取过程,同时如果已经定义,则另一个将控制数据删除过程。数据库服务程序65a、65b控制记录什么数据,使得在作业结束时具有关于提取、删除和加载的数据的详细信息。在已加密数据的情况下,新版本被写入日志文件中,使得客户能够识别他们的情况。
如数据访问生成器61一样,数据库服务生成器59识别已经定义到复制系统作为数据库服务的部分的表,并生成顶层例行程序以控制对表提取程序的访问。数据库服务生成器59从关系型数据库55获取形成数据库服务的表关系,并设置全部表提取程序的输入使得利用最高效的访问路径检索数据。
数据库服务生成器59将在数据库服务提取程序65a中设置参数,全部表提取程序将使用该参数以确定需要什么处理。数据库服务生成器了解RI关系并将命令对数据访问例行程序的调用,使得所提取的数据以被要求加载的顺序呈现。
还将基于存储在复制系统中的数据来确定所需要的跟踪的级别。
当需要在加载之前删除数据时,数据库服务生成器59识别已定义到关系型数据库55的表。数据库服务生成器59将基于已经将删除定义到复制系统的方式以及可用索引算出最佳访问路径以删除数据。然后,它将设置DB2删除程序的输入以使用可用的最佳访问路径删除数据。数据库服务生成器59将按照已经定义到关系型数据库55的顺序删除数据。
产品服务生成器57生成框架(skeleton)JCL(作业控制语言)和控制文件,以运行形成产品服务的数据库服务。产品服务JCL将从单个源环境获取数据并将其加载到潜在的多目标环境。
对于定义到复制系统的每个产品服务,具有关于全部可能的源环境和全部可能的目标环境的被存储信息。产品服务生成器利用该信息生成控制卡,以驱动合适作业的生成,从而基于用户输入提取并加载数据。
还生成框架JCL来执行提取和加载过程。具有生成的三种类型的作业:
·驱动器作业;
·提取阶段;以及
·加载阶段。
存在不可能生成一块JCL以满足要求的时机。生成器允许定义现有点,在该现有点处,手动写入的程序能够包括在作业流中。
具有2种主要类型的特定需求,可包括:
·转换出口—这将改变已基于测试环境中的信息所提取的数据。其最常见的原因是要改变关键标识符,因此他们不会在测试中与现有数据冲突。
·补充出口:这会扩充正基于已检索的数据所提取的数据。该出口的最常见的原因是哪里需要数据,但是用于访问数据的关键数据取决于已提取到的数据。
产品服务生成器57将生成驱动器作业,该驱动器作业将使用所生成的框架JCL来动态地编连特定作业,以基于用户输入提取并加载数据。
产品服务生成器57了解什么数据库服务形成产品服务。对于每个数据库服务,该生成器知道需要哪些DB2和IMS子系统以提取和加载数据。它将编连所需要的全部提取作业并将它们提交至合适的子系统以执行。
驱动器作业将建立起始点以用于作业追踪,从而使得复制系统能够遵循提取/加载过程的完整过程。作为此的一部分,将指明将运行什么作业,以使随后的作业能够知道整个过程何时完成。
产品服务生成器57将生成DB2和IMS框架JCL,以提取形成产品服务的全部数据库服务。数据库服务将由他们将要运行于其中的子系统集合在一起。
除了形成产品服务的标准数据库服务之外,很多时候数据库服务具有需要包括在内的相关联服务。生成器从关系型数据库55中知道这些服务,并将包括合适的JCL以运行补充服务。如果需要,还将建立加载数据的作业,且还建立必须的JCL以在作业开始和完成时告知作业跟踪。
产品服务生成器57将生成DB2和IMS框架JCL以加载已经在提取阶段提取到的所有数据。
产品服务生成器57将知道是否存在待在加载前删除的数据,并将包括对合适的数据库删除服务的调用。使用存储在关系型数据库55中的信息,产品服务生成器57知道文件中的数据何时需要基于预定规则或存储在目标环境中的值进行转换。产品服务生成器57将提交必须的调用以执行此转换。然后,它将调用类属程序(generic program)以从提取文件中加载数据。它将建立必须的JCL,使得告知作业追踪作业何时开始并且作业何时结束。当全部作业完成时,将告知发起用户。
本发明提供一种用于在环境之间复制数据的工具,该工具大大提高了复制过程的速度和效率。其总的效果是增加能够进行的产品测试的量,这提高了产品可靠性并降低了错误。
在不脱离本发明的范围的情况下,可在此并入改进和修改。
Claims (22)
1.一种用于将数据从信息管理系统中的第一数据库复制到测试环境的系统,所述系统包括:
关系型数据库,包括来自于第一数据库的一组关系,所述关系提供所述第一数据库中的数据库表之间的联系,其中所述关系型数据库在运行时环境外部创建;
服务生成器,在运行时期间提取并加载数据库表,以形成预定的服务或产品,其中
一旦接收复制数据以创建待测试的产品或服务的请求,所述服务生成器检查所述关系型数据库,以确定待创建的所述产品或服务内的所述数据库表是否被索引,并且仅在包括所述产品或服务的所述数据库表中的所述数据是包含在所述关系型数据库中的、提供所述第一数据库中的数据库表之间的联系的一个或多个关系的主体时复制所述数据,其中所述一个或多个关系是参照完整性关系,并且其中所述数据库表被关联为参照完整性父子,使得将提取来自两个表的数据。
2.如权利要求1中所述的系统,其中,一种或多种类型的关系存在于所述关系型数据库中。
3.如权利要求2中所述的系统,其中,第一种类型的关系是所述数据库表中预选择数据的索引的存在。
4.如权利要求1中所述的系统,其中,所述系统进一步包括输入装置,以允许用户在所述第一数据库中的数据表之间创建应用关系,并允许所述数据表包括在所述关系型数据库中。
5.如权利要求1中所述的系统,其中,所述服务生成器包括用于加密和解密数据库表中的数据的加密装置。
6.如权利要求5中所述的系统,其中,所述加密装置包括一个或多个SQL语句。
7.如权利要求1中所述的系统,其中,所述服务生成器进一步包括跟踪机制,使得如果已从表中检索到所述数据,则不重读和随后再处理。
8.如权利要求1中所述的系统,其中,所述服务生成器进一步包括删除程序,所述删除程序通过访问所述关系型数据库来分析表定义和所述表上的全部可用索引而能够删除数据访问路径。
9.如权利要求1中所述的系统,其中,所述服务生成器包括数据库服务生成器,所述数据库服务生成器识别包括数据库服务的一个或多个表,从所述第一数据库中提取所述一个或多个表,并将所述一个或多个表加载到数据库服务中。
10.如权利要求1中所述的系统,其中,所述服务生成器包括产品服务生成器,所述产品服务生成器识别包括产品服务的一个或多个数据库服务,从所述第一数据库中提取所述一个或多个数据库服务,并将所述一个或多个数据库服务加载到数据库服务中。
11.如权利要求10中所述的系统,其中,所述服务生成器适于从所述数据库服务创建产品。
12.一种用于将数据从信息管理系统中的第一环境复制到第二环境的方法,所述方法包括:
创建关系型数据库,所述关系型数据库包括来自于第一数据库的一组关系,所述关系提供所述第一数据库中的数据库表之间的联系,其中,所述关系型数据库在运行时环境外部创建;
通过在运行时期间提取并加载数据库表来生成服务,以形成预定的服务或产品,其中
一旦接收复制数据以创建产品或服务的请求,对所述关系型数据库进行检查,以确定所述产品或服务内的所述数据库表是否被索引,并且仅在包括所述产品或服务的所述数据库表中的所述数据是包含在所述关系型数据库中的、提供所述第一数据库中的数据库表之间的联系的一个或多个关系的主体时复制所述数据,以生成所述产品或服务,其中所述一个或多个关系是参照完整性关系,并且其中所述数据库表被关联为参照完整性父子,使得将提取来自两个表的数据。
13.如权利要求12中所述的方法,其中,第一种类型的关系是所述数据库表中预选择数据的索引的存在。
14.如权利要求12中所述的方法,其中,所述方法进一步允许用户在所述第一数据库中的数据表之间创建应用关系,并允许所述数据表包括在所述关系型数据库中。
15.如权利要求12中所述的方法,其中,所述生成服务的步骤包括加密和解密数据库表中的数据。
16.如权利要求15中所述的方法,其中,所述加密或解密的步骤使用一个或多个SQL语句。
17.如权利要求15中所述的方法,其中,所述生成服务的步骤进一步包括跟踪机制,使得如果已经从表中检索到所述数据,则不重读和随后再处理。
18.如权利要求15中所述的方法,其中,所述生成服务的步骤进一步包括删除程序,所述删除程序通过访问所述关系型数据库来分析表定义和所述表上的全部可用索引而能够删除数据访问路径。
19.如权利要求15中所述的方法,其中,所述生成服务的步骤进一步包括生成数据服务,以识别包括数据库服务的一个或多个表,从所述第一数据库中提取所述一个或多个表并将所述一个或多个表加载到数据库服务中。
20.如权利要求15中所述的方法,其中,所述生成服务的步骤进一步包括:识别包括产品服务的一个或多个数据库服务,从所述第一数据库中提取所述一个或多个数据库服务并将所述一个或多个数据库服务加载到数据库服务中。
21.如权利要求19中所述的方法,其中,所述生成服务的步骤进一步包括从所述数据库服务创建产品。
22.如权利要求12中所述的方法,其中,所述第二环境为测试环境。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1014986.2 | 2010-09-09 | ||
GBGB1014986.2A GB201014986D0 (en) | 2010-09-09 | 2010-09-09 | A system and method for copying data |
PCT/GB2011/001320 WO2012032299A2 (en) | 2010-09-09 | 2011-09-09 | A system and method for copying data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103180848A CN103180848A (zh) | 2013-06-26 |
CN103180848B true CN103180848B (zh) | 2017-05-17 |
Family
ID=43037549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180043639.2A Expired - Fee Related CN103180848B (zh) | 2010-09-09 | 2011-09-09 | 一种用于复制数据的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9946778B2 (zh) |
EP (1) | EP2614452A2 (zh) |
CN (1) | CN103180848B (zh) |
CA (1) | CA2810459C (zh) |
GB (1) | GB201014986D0 (zh) |
WO (1) | WO2012032299A2 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101514A (zh) * | 2017-06-21 | 2018-12-28 | 北京国双科技有限公司 | 数据导入方法及装置 |
CN111552698B (zh) * | 2020-04-21 | 2023-06-06 | 重庆富民银行股份有限公司 | 一种解决环境差异的sql版本控制系统及方法 |
US11809426B2 (en) * | 2022-02-03 | 2023-11-07 | Bank Of America Corporation | System for implementing a data driven channel for query executions using quantum computing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001183A (zh) * | 2007-01-10 | 2007-07-18 | 网之易信息技术(北京)有限公司 | 一种网络应用软件的测试方法和系统 |
US7620665B1 (en) * | 2000-11-21 | 2009-11-17 | International Business Machines Corporation | Method and system for a generic metadata-based mechanism to migrate relational data between databases |
CN101681383A (zh) * | 2007-05-21 | 2010-03-24 | Nhn株式会社 | 用于数据库管理系统的数据复制方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189010B1 (en) * | 1998-06-10 | 2001-02-13 | Platinum Technology, Inc. | Method for repairing constraint violations in a database management system |
US7124140B2 (en) * | 2001-12-10 | 2006-10-17 | Oracle International Corporation | Database system having heterogeneous object types |
US7337176B1 (en) * | 2003-08-29 | 2008-02-26 | Sprint Communications Company L.P. | Data loading tool for loading a database |
US8311974B2 (en) * | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
US7743069B2 (en) * | 2004-09-03 | 2010-06-22 | Sybase, Inc. | Database system providing SQL extensions for automated encryption and decryption of column data |
-
2010
- 2010-09-09 GB GBGB1014986.2A patent/GB201014986D0/en not_active Ceased
-
2011
- 2011-09-09 US US13/822,151 patent/US9946778B2/en not_active Expired - Fee Related
- 2011-09-09 CN CN201180043639.2A patent/CN103180848B/zh not_active Expired - Fee Related
- 2011-09-09 EP EP11773108.3A patent/EP2614452A2/en not_active Ceased
- 2011-09-09 WO PCT/GB2011/001320 patent/WO2012032299A2/en active Application Filing
- 2011-09-09 CA CA2810459A patent/CA2810459C/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7620665B1 (en) * | 2000-11-21 | 2009-11-17 | International Business Machines Corporation | Method and system for a generic metadata-based mechanism to migrate relational data between databases |
CN101001183A (zh) * | 2007-01-10 | 2007-07-18 | 网之易信息技术(北京)有限公司 | 一种网络应用软件的测试方法和系统 |
CN101681383A (zh) * | 2007-05-21 | 2010-03-24 | Nhn株式会社 | 用于数据库管理系统的数据复制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2012032299A2 (en) | 2012-03-15 |
WO2012032299A3 (en) | 2012-06-21 |
CN103180848A (zh) | 2013-06-26 |
CA2810459A1 (en) | 2012-03-15 |
EP2614452A2 (en) | 2013-07-17 |
GB201014986D0 (en) | 2010-10-20 |
US20130218833A1 (en) | 2013-08-22 |
CA2810459C (en) | 2019-07-30 |
US9946778B2 (en) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8122067B2 (en) | Data storage system | |
US5898872A (en) | Software reconfiguration engine | |
US8433673B2 (en) | System and method for supporting data warehouse metadata extension using an extender | |
US7337176B1 (en) | Data loading tool for loading a database | |
US5317729A (en) | Method for the storage of multi-versioned data with retrieval based on searched query | |
US20060235899A1 (en) | Method of migrating legacy database systems | |
US20120054147A1 (en) | System and method for extract, transform, and load workflow generation | |
JP2001506028A (ja) | コンピュータソフトウェアアプリケーションの開発および実行のための方法、システムおよびデータ構造 | |
Quinton et al. | Evolution in dynamic software product lines: challenges and perspectives | |
US7653663B1 (en) | Guaranteeing the authenticity of the data stored in the archive storage | |
CN104516864A (zh) | 一种报表生成方法及装置 | |
CN103180848B (zh) | 一种用于复制数据的系统和方法 | |
CN100501737C (zh) | 用于内容受管制的数据的数据库方案及其创建方法和系统 | |
KR20170015893A (ko) | 관계형 데이터 전송 방법 | |
JP2008123432A (ja) | ソフトウエア資産管理システム | |
Tebernum et al. | DERM: A Reference Model for Data Engineering. | |
JP2019211805A (ja) | データベースマイグレーション支援システム及びプログラム | |
CN117194385A (zh) | 一种不同类型关系数据库间的数据迁移方法 | |
Thasal et al. | Information retrieval and de-duplication for tourism recommender system | |
JP2001216319A (ja) | 文書管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 | |
JP3730556B2 (ja) | データベース管理システム | |
CN109739835A (zh) | 一种数据版本保存方法及装置 | |
Languedoc | Build iOS database apps with Swift and SQLite | |
US20240169077A1 (en) | Implementing inherited grants using secure schemas | |
JP2010067233A (ja) | ワークフロー管理システム、ワークフロー管理方法、及びワークフロー管理プログラム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170517 Termination date: 20210909 |