CN102346757A - Ims数据库联机交易中数据影印方法及系统 - Google Patents
Ims数据库联机交易中数据影印方法及系统 Download PDFInfo
- Publication number
- CN102346757A CN102346757A CN2011101807669A CN201110180766A CN102346757A CN 102346757 A CN102346757 A CN 102346757A CN 2011101807669 A CN2011101807669 A CN 2011101807669A CN 201110180766 A CN201110180766 A CN 201110180766A CN 102346757 A CN102346757 A CN 102346757A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- transaction
- record
- host
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种IMS数据库联机交易中数据影印方法及系统,其中,所述方法包括开放端从开放平台向主机发起第一交易,通过监控数据库接口获取第一交易所使用的主机层次型数据库的数据库数据,并将获取的数据库数据保存到主机交易数据存储文件,将保存的数据库数据以检索格式存储到开放平台上的关系型数据库中;开放端确定将要发起与第一交易相同的第二交易时,从所述关系型数据库获取第一交易使用的数据库数据,并上传到主机影印数据存储文件,根据第一交易的数据库数据生成将在主机层次型数据库上执行的DL/1操作序列,依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作,从而实现交易级的数据同步,牵涉的数据量小,资源开销小。
Description
技术领域
本发明涉及IMS数据库联机交易数据处理,更为具体地,涉及一种IMS数据库联机交易中数据影印方法和用于IMS数据库联机交易的数据影印系统。
背景技术
IMS(Information Management System,信息管理系统)是一种基于IBM主机系统的大型层次型数据库系统,在基于IMS数据库的银行业或金融业进行主机联机交易测试时存在以下问题:
1.由于测试数据库中的数据已被前一个测试交易破坏,完全相同的测试交易无法在不一致的测试数据上得到相同运行结果;
2.在一个测试环境运行正常的测试交易由于测试数据库中的数据不同导致在另一个测试环境无法得到相同运行结果。
以上两个问题,归根到底在于测试数据库中的数据不一致,使得测试人员在不同测试阶段针对同一测试交易运行完全相同测试案例时,会得到完全不同的测试结果,所以或者需要同步测试数据导致测试工作量增加,或者需要对结果不同的测试案例逐个进行执行结果比较分析,导致测试效率低下。
现在国内和海外银行主要采用同步测试数据库的方法来解决上述问题,即把干净的数据定期覆盖到测试环境数据库中。
然而,同步数据库必然需要事先备份干净数据库,然后在同步时需停止数据库及测试,同步完成后需要再启动数据库。在同步数据库期间不可避免要牵涉到很多协调的问题,即使采用FLASHCOPY技术(一种快速数据复制技术),也需要占用相当多的时间与精力。
而且,同步数据库是对数据库级的操作,一旦进行,需对多个数据库进行同步,例如,虽然可能只需要对测试交易进行测试,一旦测试交易需要前导交易,就需要把所有数据库的前导交易重新执行一次,这样会占用大量系统资源,不能频繁使用,造成测试效率降低。
发明内容
本发明的目的在于提供一种IMS数据库联机交易中数据影印方法和用于IMS数据库联机交易的数据影印系统,对交易级的数据进行同步,牵涉的数据量小,资源开销小。
为此,本发明提供一种IMS数据库联机交易中数据影印方法,其中,所述数据影印方法包括:
开放端从开放平台向主机发起第一交易:
通过监控数据库接口获取该第一交易执行时所使用的主机层次型数据库的数据库数据,并将获取的所述数据库数据保存到主机交易数据存储文件,
将保存到所述主机交易数据存储文件的数据库数据以检索格式存储到所述开放平台上的关系型数据库中;
开放端确定将要发起与所述第一交易相同的第二交易时,从所述开放平台上的关系型数据库获取保存的所述第一交易使用的数据库数据,并上传到主机影印数据存储文件,
根据所述第一交易的数据库数据生成将在主机层次型数据库上执行的DL/1操作序列,
依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作,从而实现交易级的数据同步,即数据影印。
相应地,本发明还提供一种用于IMS数据库联机交易的数据影印系统,其中,所述数据影印系统包括开放端、主机以及配置在所述开放端和主机上的数据影印工具,其中,
所述开放端用于从开放平台向所述主机发起交易;
所述数据影印工具包括以下模块:
交易数据采集模块,用于获取所述开放端发起的第一交易执行时所使用的主机层次型数据库的数据库数据,并将获取的所述数据库数据保存到主机交易数据存储文件;
交易数据下载模块,用于将保存到所述主机交易数据存储文件的数据库数据以检索格式存储到所述开放平台上的关系型数据库中;
交易数据上传模块,用于在所述开放端确定将要发起与所述第一交易相同的第二交易时,从所述开放平台上的关系型数据库获取保存的所述第一交易使用的数据库数据,并上传到主机影印数据存储文件;
影印数据生成模块,用于根据所述第一交易的数据库数据生成将在主机层次型数据库上执行的DL/1操作序列;
数据影印模块,用于依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作。
实施本发明的一种IMS数据库联机交易中数据影印方法和用于IMS数据库联机交易的数据影印系统具有以下有益效果:
1、本发明通过将前一次交易使用的数据库数据保存下来,下一次相同交易运行前先把需要用的数据库数据同步成前一次交易使用的数据库数据,在交易版本不变的情况下保证交易得到相同的运行结果,从而在基于IMS数据库的银行业或金融业中进行主机联机交易测试时可以在不同的测试阶段复用相同的测试案例,这样,一方面减少了测试工作量,另一方面也有助于比较案例的执行结果,提高了测试效率;
2、通过上述可知,与现有的数据库级的数据同步不同,本发明采用交易级的数据同步,每次数据同步无需停止数据库和测试,即数据同步快,占用时间和精力少;
3、由于本发明采用交易级的数据同步,主要针对交易需要用到的数据库数据,无需对所有数据库数据进行同步,换言之,本发明在进行数据同步时牵涉到的数据量很小,颗粒度小,占用系统资源少,效率较高,可以频繁使用。
附图说明
图1是根据本发明实施方式的一种用于IMS数据库联机交易的数据影印系统的结构框图;
图2是根据本发明实施方式的数据影印工具的结构框图;
图3是图2中交易数据采集模块的结构框图;
图4是图2中交易数据下载模块的结构框图;
图5是图2中交易数据上传模块的结构框图;
图6是图2中影印数据生成模块的结构框图;
图7是根据本发明实施方式的一种IMS数据库联机交易中数据影印方法的一般性流程示意图;
图8是图7所示数据影印方法中数据采集及下载示意图;
图9是图7所示数据影印方法中数据上传及影印示意图。
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
在具体描述本发明的实施例之前,需要说明的是,本文中所使用的“第一”、“第二”仅仅用来区分两个相同名称的技术术语,而不是用来限定该技术术语所对应的技术特征的数目。
参见图1,示出了根据本发明实施方式的一种用于IMS数据库联机交易的数据影印系统的系统架构,其中,所述数据影印系统包括开放端100、主机200以及配置在开放端100和主机200上的数据影印工具300,其中,
所述开放端100用于从开放平台400向主机200发起交易,其中开放端100可以位于开放平台400上;
在本发明实施例中,如图2所示,所述数据影印工具包括:
交易数据采集模块310,用于通过监控数据库接口获取开放端100发起的第一交易执行时所使用的主机层次型数据库500的数据库数据,并将获取的所述数据库数据保存到主机交易数据存储文件201中;
交易数据下载模块320,用于将保存到主机交易数据存储文件201的数据库数据以检索格式存储到开放平台400上的关系型数据库401中;
交易数据上传模块330,用于在开放端100确定将要发起与所述第一交易相同的第二交易时,从所述开放平台400上的关系型数据库401获取保存的所述第一交易使用的数据库数据,并上传到主机影印数据存储文件202;
影印数据生成模块340,用于根据所述第一交易的数据库数据生成将在主机层次型数据库500上执行的DL/1操作序列,其中DL/1为一种IMS的数据操作语言,用户使用某种高级语言(称为宿主语言,如汇编,COBOL,PL/1等)编程,通过嵌入DL/1语句实现对数据库的存取操作;
数据影印模块350,用于依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作,从而完成数据影印,使得第二交易可以在与第一交易相同的测试环境下完成交易逻辑的执行。
在本发明实施例中,所述第一交易可以是开放端100发起的相同交易中的第一次交易,也可以是相同交易中后续交易中的一个交易,所述第二交易为开放端100在第一交易后发起的与该第一交易相同的后续其他交易。
参见图3,在本发明实施例中,所述交易数据采集模块包括:
监控单元311,用于监控数据库接口程序;
数据截取单元312,用于监控单元311监控到主机层次型数据库500向所述数据接口程序返回数据库数据时,截获所述返回的数据库数据;
数据保存单元313,用于将所述截获的数据库数据保存到主机交易数据存储文件301。
在本发明实施例中,通过将交易数据采集模块嵌入到数据库操作接口程序中,一旦交易数据采集模块发现有数据库操作发生,会把CICS(CustomerInformation Control System,客户信息控制系统)任务号、交易号、交易日期、交易时间、操作顺序号、交易终端、数据库操作参数群(包括数据库名、SEGMENT名、执行功能、操作结果等)和数据库操作数据拼接成一条记录,以交易时间戳和数据库操作顺序号作为主键值(KEY)将记录保存到主机的交易数据存储文件中,这样无论交易是成功还是失败,数据库操作是执行了还是ROLLBACK(回滚)了,都能把交易的数据保存下来。需要说明的是,本领域的技术人员应当理解,除了将交易数据采集模块嵌入到数据库操作接口程序中之外,还可以采用本领域公知的其他技术来监控数据库接口并截取数据库数据,如把交易数据采集代码直接写入数据库操作接口程序中等,但本发明采用的方式有更好的封装性。
参见图4,在本发明实施例中,所述交易数据下载模块包括:
时间戳信息发送单元321,用于在获得所述第一交易对应的响应结果后,将该第一交易的时间戳信息发送给用于数据下载的第一开放服务进程,所述时间戳信息包括交易日期和/或交易时间等交易相关的时间信息;
第一开放服务进程运行单元322,用于运行所述第一开放服务进程以将所述第一交易的时间戳信息发给用于数据下载的第一主机服务进程以请求下载交易数据(即第一交易使用的数据库数据);
第一主机服务进程运行单元323,用于运行所述第一主机服务进程以访问主机交易数据存储文件201,按所述第一交易的时间戳信息获取所述第一交易使用的数据库数据,并将获取的数据库数据返回给所述第一开放服务进程;
所述第一开放服务进程运行单元322通过运行所述第一开放服务进程将所述数据库数据以检索格式存储到开放平台400上的关系型数据库401中,其中,所述检索格式以所述第一交易的时间戳信息或者进一步附加上交易名称、交易号或交易序号为主键值,或者以本领域公知的其他易于检索的方式存储数据。
参见图5,在本发明实施例中,所述交易数据上传模块包括:
主键值发送单元331,用于将所述主键值(例如时间戳信息)发送给用于数据影印的第二开放服务进程;
第二服务进程运行单元332,用于运行所述第二开放服务进程根据所述主键值从开放平台400上的关系型数据库401中提取所述第一交易使用的数据库数据,并将该数据库数据上传给用于数据影印的第二主机服务进程;
第二主机服务进程运行单元333,用于运行所述第二主机服务进程将所述第一交易使用的数据库数据写入主机影印数据存储文件202中。
参见图6,在本发明实施例中,所述影印数据生成模块包括:
数据获取单元341,用于根据所述主键值从主机影印数据存储文件202中获取所述第一交易使用的数据库数据;
数据过滤排序单元342,用于对所述第一交易使用的数据库数据进行过滤排序;
影印数据生成单元343,用于根据所述过滤排序后的数据库数据,按照影印数据生成方法产生DL/1操作序列。
其中,所述数据过滤排序单元342包括:
排序子单元3421,用于对所述数据库数据的记录组按照数据库名进行排序,相同数据库名的记录按照时间戳的先后顺序进行排序;
过滤子单元3422,用于从第一条记录开始依次读取重新排序后的记录组,过滤掉执行删除操作和重复执行的记录,并在相同数据库中使用前面记录中的执行数据库参数补全后面记录中的执行数据库参数。
其中,所述影印数据生成单元343从最后一条记录依次向前读取经过所述过滤排序处理后的记录组,根据记录所执行的数据库操作进行逆向操作,生成相应的DL/1操作序列,其具体可以包括:
数据读取子单元3431,用于从最后一条记录依次向前读取经过所述过滤排序处理后的记录组;
判断子单元3432,用于判断所述记录所执行的数据库操作是插入记录、更新记录或者定位记录;
判断结果处理子单元3433,用于实现如下功能:如果是插入记录,则删除记录,如果是更新记录,则恢复至更新前的状态,如果是定位记录,则恢复至定位时的状态。
在本发明实施例中,上述交易数据采集模块310、交易数据下载模块320和交易数据上传模块330配置在开放端100和主机200侧,而影印数据生成模块340和数据影印模块350配置在主机100侧。本领域的技术人员应当理解,本发明并不局限于这种配置方式,还可以将交易数据采集模块310、交易数据下载模块320、交易数据上传模块330、影印数据生成模块340和数据影印模块350同时配置在开放端100和主机200侧,或者将所述数据影印工具作为单独布置,通过通信线路与开放端100和主机200交互。
以上结合附图对本发明的一种用于IMS数据库联机交易的数据影印系统的技术方案进行详细说明,本领域的技术人员应当理解,以上实施例仅用于对本发明进行举例说明,并非意在限定本发明的保护范围,根据上述实施例的教导,本领域的技术人员还可以这些实施例进行各种改变或变化,这些改变或变化所得的等同实施例也在本发明的保护范围之内。下面结合图7-9详细阐述上述数据影印系统的具体运行流程。
参见图7,示出了根据本发明实施方式的一种IMS数据库联机交易中数据影印方法的一般性流程。在本发明实施例中,所述数据影印方法包括下述步骤:
S100,开放端从开放平台向主机发起第一交易:
S200,通过监控数据库接口获取该第一交易执行时所使用的主机层次型数据库的数据库数据,并将获取的所述数据库数据保存到主机交易数据存储文件,
S300,将保存到所述主机交易数据存储文件的数据库数据以检索格式存储到所述开放平台上的关系型数据库中;
S400,开放端确定将要发起与所述第一交易相同的第二交易时,从所述开放平台上的关系型数据库获取保存的所述第一交易使用的数据库数据,并上传到主机影印数据存储文件,
S500,根据所述第一交易的数据库数据生成将在主机层次型数据库上执行的DL/1操作序列,
S600,依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作,从而完成数据影印,使得第二交易可以在与第一交易相同的测试环境下完成交易逻辑的执行。
参见图8,示出了上述数据影印方法中数据采集及下载过程。当开放端发起一个交易时,例如,第一次交易或者前次交易时,所述数据影印方法进行下述处理:
①开放端通过影印工具开放发起端,从开放平台向主机端发起一个主机交易(即第一交易);
②第一交易在交易执行期间调用数据库接口程序操作主机层次型数据库中的数据(即数据库数据);
③主机层次型数据库向数据接口程序返回上述操作的数据;
④数据库接口监控器(即交易数据采集模块)监控数据库接口程序,截获数据库操作参数及主机层次型数据库返回的数据;
⑤数据库接口监控器将截获的数据以及第一交易的时间戳信息写入主机交易数据存储文件;
⑥第一交易将对应的响应结果(或返回报文)返回给开放端的影印工具开放发起端;
⑦开放端的影印工具开放发起端将第一交易的时间戳信息发送给用于数据下载的开放服务进程(即第一开放服务进程);
⑧所述第一开放服务进程将第一交易的时间戳信息发给用于数据下载的主机服务进程(即第一主机服务进程)以请求下载交易数据,即第一交易使用的数据库数据;
⑨所述第一主机服务进程访问主机交易数据存储文件,按所述第一交易的时间戳信息获取该第一交易使用的数据库数据;
⑩所述第一主机服务进程将获取的数据库数据返回给所述第一开放服务进程;
所述第一开放服务进程将所述数据库数据以检索格式存储到所述开放平台上的关系型数据库中,以所述第一交易的时间戳信息或者再附加上交易名称、交易号或交易序号为主键值将所述数据库数据存储到所述开放平台上的关系型数据库中,在本例中以时间戳信息为主键值。
当开放端将要发起一个与上述第一交易相同的交易(即第二交易)时,所述数据影印方法进行下述处理(参见图9):
①在发起第二交易前,开放端的影印工具开放发起端将主键值(本例为第一交易的时间戳信息)发送给用于数据影印的开放服务进程(即第二开放服务进程);
②第二开放服务进程根据第一交易的时间戳信息从所述开放平台上的关系型数据库中提取所述第一交易使用的数据库数据;
③第二开放服务进程将该数据库数据上传给用于数据影印的主机服务进程(即第二主机服务进程);
④第二主机服务进程将所述第一交易使用的数据库数据写入主机影印数据存储文件;
⑤第二开放服务进程获得第二主机服务进程执行成功的信息后,返回成功的执行结果给影印工具开放发起端;
⑥开放端的影印工具开放发起端从开放平台向主机端发起一个需要预先做影印的主机交易,所谓需要预先做影印的交易即为与第一交易相同的交易(即第二交易),在该第二交易的输入报文携带有上述第一交易的时间戳信息;
⑦第二交易解析所述输入报文,获得交易时间戳信息;
⑧第二交易访问所述主机影印数据存储文件,并根据所述主键值获取所述第一交易使用的数据库数据;
⑨对所述第一交易使用的数据库数据进行过滤排序,根据所述过滤排序后的数据库数据,按照影印数据生成方法产生DL/1操作序列,即影印数据队列;
⑩依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作,从而完成数据影印,使得第二交易可以在与第一交易相同的测试环境下完成交易逻辑的执行。
在本发明实施例中,对所述第一交易使用的数据库数据进行过滤排序包括:
对所述数据库数据的记录组按照数据库名进行排序,相同数据库名的记录按照时间戳的先后顺序进行排序;
从第一条记录开始依次读取重新排序后的记录组,过滤掉执行删除操作和重复执行的记录,并在相同数据库中使用前面记录中的执行数据库参数补全后面记录中的执行数据库参数。
相应地,根据所述过滤排序后的数据库数据,按照影印数据生成方法产生DL/1操作序列包括:
从最后一条记录依次向前读取经过所述过滤排序处理后的记录组,根据记录所执行的数据库操作进行逆向操作,生成相应的DL/1操作序列。
其中,根据记录所执行的数据库操作进行逆向操作包括:
判断所述数据库操作是插入记录、更新记录或者定位记录;
如果是插入记录,则删除记录,如果是更新记录,则恢复至更新前的状态,如果是定位记录,则恢复至定位时的状态。
通过上述实施方式的描述,本发明实施例通过将前一次交易使用的数据库数据保存下来,下一次相同交易运行前先把需要用的数据库数据同步成前一次交易使用的数据库数据,在交易版本不变的情况下保证交易得到相同的运行结果,从而在基于IMS数据库的银行业或金融业中进行主机联机交易测试时可以在不同的测试阶段复用相同的测试案例,可以一次对多个测试阶段的执行结果进行比较,提高了测试效率;同时,通过采用交易级的数据同步,每次数据同步无需停止数据库和测试,即数据同步快,占用时间和精力少;并且主要针对交易需要用到的数据库数据,无需对所有数据库数据进行同步,其牵涉到的数据量很小,颗粒度小,占用系统资源少,效率较高,可以频繁使用。并且,把数据影印设计纳入影印交易,作为影印交易的最前部分进行执行,随后再执行交易原有逻辑,这样能充分利用交易的原子性来保证数据的一致性,即已影印数据不会在交易执行前被其他交易或作业所破坏。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所公开的仅为本发明的一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (19)
1.一种IMS数据库联机交易中数据影印方法,其特征在于,包括:
开放端从开放平台向主机发起第一交易,
通过监控数据库接口获取该第一交易执行时所使用的主机层次型数据库的数据库数据,并将获取的所述数据库数据保存到主机交易数据存储文件,
将保存到所述主机交易数据存储文件的数据库数据以检索格式存储到所述开放平台上的关系型数据库中;
开放端确定将要发起与所述第一交易相同的第二交易时,从所述开放平台上的关系型数据库获取保存的所述第一交易使用的数据库数据,并上传到主机影印数据存储文件,
根据所述主机影印数据存储文件中第一交易的数据库数据生成将在主机层次型数据库上执行的DL/1操作序列,
依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作。
2.根据权利要求1所述的数据影印方法,其特征在于,所述通过监控数据库接口获取该第一交易执行时所用到的主机层次型数据库的数据库数据的步骤包括:
监控数据库接口程序;
所述第一交易在交易执行中调用数据库接口程序操作主机层次型数据库的数据库数据;
所述主机层次型数据库将所述操作的数据库数据返回给所述数据库接口程序;
当监控到所述主机层次型数据库向所述数据接口程序返回数据库数据时,截获所述返回的数据库数据。
3.根据权利要求2所述的数据影印方法,其特征在于,所述将保存到所述主机交易数据存储文件的数据库数据以检索格式存储到所述开放平台上的关系型数据库中的步骤包括:
开放端在获得所述第一交易对应的响应结果后,将该第一交易的时间戳信息发送给用于数据下载的开放服务进程;
所述开放服务进程将所述第一交易的时间戳信息发给用于数据下载的主机服务进程以请求下载所述第一交易的数据库数据;
所述主机服务进程访问主机交易数据存储文件,按所述第一交易的时间戳信息获取所述第一交易使用的数据库数据,并将获取的数据库数据返回给所述开放服务进程;
所述开放服务进程将所述数据库数据以检索格式存储到所述开放平台上的关系型数据库中。
4.根据权利要求3所述的数据影印方法,其特征在于,将所述数据库数据以检索格式存储到所述开放平台上的关系型数据库中包括:
以所述第一交易的时间戳信息为主键值将所述数据库数据存储到所述开放平台上的关系型数据库中。
5.根据权利要求4所述的数据影印方法,其特征在于,在执行所述第二交易之前,从所述开放平台上的关系型数据库获取保存的所述第一交易使用的数据库数据,并上传到主机影印数据存储文件的步骤包括:
开放端将所述主键值发送给用于数据影印的开放服务进程;
所述开放服务进程根据所述主键值从所述开放平台上的关系型数据库中提取所述第一交易使用的数据库数据,并将该数据库数据上传给用于数据影印的主机服务进程;
所述主机服务进程将所述第一交易使用的数据库数据写入所述主机影印数据存储文件。
6.根据权利要求4所述的数据影印方法,其特征在于,根据所述第一交易的数据库数据生成将在主机层次型数据库上执行的DL/1操作序列的步骤包括:
所述第二交易访问所述主机影印数据存储文件,并根据所述主键值获取所述第一交易使用的数据库数据;
对所述第一交易使用的数据库数据进行过滤排序,根据所述过滤排序后的数据库数据,按照影印数据生成方法产生DL/1操作序列。
7.根据权利要求6所述的数据影印方法,其特征在于,对所述第一交易使用的数据库数据进行过滤排序包括:
对所述数据库数据的记录组按照数据库名进行排序,相同数据库名的记录按照时间戳的先后顺序进行排序;
从第一条记录开始依次读取重新排序后的记录组,过滤掉执行删除操作和重复执行的记录,并在相同数据库中使用前面记录中的执行数据库参数补全后面记录中的执行数据库参数。
8.根据权利要求7所述的数据影印方法,其特征在于,根据所述过滤排序后的数据库数据,按照影印数据生成方法产生DL/1操作序列包括:
从最后一条记录依次向前读取经过所述过滤排序处理后的记录组,根据记录所执行的数据库操作进行逆向操作,生成相应的DL/1操作序列。
9.根据权利要求8所述的数据影印方法,其特征在于,根据记录所执行的数据库操作进行逆向操作包括:
判断所述数据库操作是插入记录、更新记录或者定位记录;
如果是插入记录,则删除记录,如果是更新记录,则恢复至更新前的状态,如果是定位记录,则恢复至定位时的状态。
10.一种用于IMS数据库联机交易的数据影印系统,其特征在于,所述数据影印系统包括开放端、主机以及配置在所述开放端和主机上的数据影印工具,其中,
所述开放端用于从开放平台向所述主机发起交易;
所述数据影印工具包括以下模块:
交易数据采集模块,用于通过监控数据库接口获取所述开放端发起的第一交易执行时所使用的主机层次型数据库的数据库数据,并将获取的所述数据库数据保存到主机交易数据存储文件;
交易数据下载模块,用于将保存到所述主机交易数据存储文件的数据库数据以检索格式存储到所述开放平台上的关系型数据库中;
交易数据上传模块,用于在所述开放端确定将要发起与所述第一交易相同的第二交易时,从所述开放平台上的关系型数据库获取保存的所述第一交易使用的数据库数据,并上传到主机影印数据存储文件;
影印数据生成模块,用于根据所述主机影印数据存储文件中第一交易的数据库数据生成将在主机层次型数据库上执行的DL/1操作序列;
数据影印模块,用于依次读取DL/1操作序列中的DL/1操作,根据DL/1操作执行相应的数据影印操作。
11.根据权利要求10所述的数据影印系统,其特征在于,所述交易数据采集模块包括:
监控单元,用于监控数据库接口程序;
数据截取单元,用于所述监控单元监控到所述主机层次型数据库向所述数据接口程序返回数据库数据时,截获所述返回的数据库数据;
数据保存单元,用于将所述截获的数据库数据保存到主机交易数据存储文件。
12.根据权利要求11所述的数据影印系统,其特征在于,所述交易数据下载模块包括:
时间戳信息发送单元,用于在获得所述第一交易对应的响应结果后,将该第一交易的时间戳信息发送给用于数据下载的第一开放服务进程;
第一开放服务进程运行单元,用于运行所述第一开放服务进程以将所述第一交易的时间戳信息发给用于数据下载的第一主机服务进程以请求下载所述第一交易的数据库数据;
第一主机服务进程运行单元,用于运行所述第一主机服务进程以访问主机交易数据存储文件,按所述第一交易的时间戳信息获取所述第一交易使用的数据库数据,并将获取的数据库数据返回给所述第一开放服务进程;
所述第一开放服务进程运行单元通过运行所述第一开放服务进程将所述数据库数据以检索格式存储到所述开放平台上的关系型数据库中。
13.根据权利要求12所述的数据影印系统,其特征在于,所述检索格式以所述第一交易的时间戳信息为主键值。
14.根据权利要求13所述的数据影印系统,其特征在于,所述交易数据上传模块包括:
主键值发送单元,用于将所述主键值发送给用于数据影印的第二开放服务进程;
第二服务进程运行单元,用于运行所述第二开放服务进程根据所述主键值从所述开放平台上的关系型数据库中提取所述第一交易使用的数据库数据,并将该数据库数据上传给用于数据影印的第二主机服务进程;
第二主机服务进程运行单元,用于运行所述第二主机服务进程将所述第一交易使用的数据库数据写入所述主机影印数据存储文件。
15.根据权利要求13所述的数据影印系统,其特征在于,所述影印数据生成模块包括:
数据获取单元,用于根据所述主键值从所述主机影印数据存储文件中获取所述第一交易使用的数据库数据;
数据过滤排序单元,用于对所述第一交易使用的数据库数据进行过滤排序;
影印数据生成单元,用于根据所述过滤排序后的数据库数据,按照影印数据生成方法产生DL/1操作序列。
16.根据权利要求15所述的数据影印系统,其特征在于,所述数据过滤排序单元包括:
排序子单元,用于对所述数据库数据的记录组按照数据库名进行排序,相同数据库名的记录按照时间戳的先后顺序进行排序;
过滤子单元,用于从第一条记录开始依次读取重新排序后的记录组,过滤掉执行删除操作和重复执行的记录,并在相同数据库中使用前面记录中的执行数据库参数补全后面记录中的执行数据库参数。
17.根据权利要求16所述的数据影印系统,其特征在于,所述影印数据生成单元从最后一条记录依次向前读取经过所述过滤排序处理后的记录组,根据记录所执行的数据库操作进行逆向操作,生成相应的DL/1操作序列。
18.根据权利要求17所述的数据影印系统,其特征在于,影印数据生成单元包括:
数据读取子单元,用于从最后一条记录依次向前读取经过所述过滤排序处理后的记录组;
判断子单元,用于判断所述记录所执行的数据库操作是插入记录、更新记录或者定位记录;
判断结果处理子单元,用于实现如下功能:如果是插入记录,则删除记录,如果是更新记录,则恢复至更新前的状态,如果是定位记录,则恢复至定位时的状态。
19.根据权利要求10至18中任意一项所述的数据影印系统,其特征在于,
所述交易数据采集模块、交易数据下载模块和交易数据上传模块配置在所述开放端和主机侧;
所述影印数据生成模块和数据影印模块配置在主机侧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101807669A CN102346757A (zh) | 2011-06-27 | 2011-06-27 | Ims数据库联机交易中数据影印方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101807669A CN102346757A (zh) | 2011-06-27 | 2011-06-27 | Ims数据库联机交易中数据影印方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102346757A true CN102346757A (zh) | 2012-02-08 |
Family
ID=45545440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101807669A Pending CN102346757A (zh) | 2011-06-27 | 2011-06-27 | Ims数据库联机交易中数据影印方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102346757A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600148A (zh) * | 2018-01-04 | 2018-09-28 | 中国银行股份有限公司 | 一种交易报文处理方法及装置 |
CN109032930A (zh) * | 2018-07-03 | 2018-12-18 | 泰康保险集团股份有限公司 | 系统测试方法及装置 |
CN109087199A (zh) * | 2018-09-21 | 2018-12-25 | 中国建设银行股份有限公司 | 用于银行的账户查询系统、方法及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080097960A1 (en) * | 2006-10-20 | 2008-04-24 | Oracle International Corporation | Client-driven functionally equivalent database replay |
CN101185075A (zh) * | 2005-03-31 | 2008-05-21 | 瑞士银行股份有限公司 | 用于使第二数据库与第一数据库同步的计算机网络系统及相应过程 |
-
2011
- 2011-06-27 CN CN2011101807669A patent/CN102346757A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101185075A (zh) * | 2005-03-31 | 2008-05-21 | 瑞士银行股份有限公司 | 用于使第二数据库与第一数据库同步的计算机网络系统及相应过程 |
US20080097960A1 (en) * | 2006-10-20 | 2008-04-24 | Oracle International Corporation | Client-driven functionally equivalent database replay |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600148A (zh) * | 2018-01-04 | 2018-09-28 | 中国银行股份有限公司 | 一种交易报文处理方法及装置 |
CN108600148B (zh) * | 2018-01-04 | 2021-01-01 | 中国银行股份有限公司 | 一种交易报文处理方法及装置 |
CN109032930A (zh) * | 2018-07-03 | 2018-12-18 | 泰康保险集团股份有限公司 | 系统测试方法及装置 |
CN109087199A (zh) * | 2018-09-21 | 2018-12-25 | 中国建设银行股份有限公司 | 用于银行的账户查询系统、方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460349B (zh) | 一种基于日志的测试用例生成方法和装置 | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
CN104809202B (zh) | 一种数据库同步的方法和装置 | |
US8560502B2 (en) | Method and a system for replaying database workload with transactional consistency | |
CN111400408A (zh) | 数据同步方法、装置、设备及存储介质 | |
US8626765B2 (en) | Processing database operation requests | |
CN104809201A (zh) | 一种数据库同步的方法和装置 | |
CN102314561A (zh) | 基于api hook的恶意代码自动分析方法和系统 | |
CN110321339B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
CN103955530A (zh) | 一种在线重复数据删除系统的数据重建优化方法 | |
CN111708794B (zh) | 基于大数据平台的数据比对方法、装置和计算机设备 | |
US10223205B2 (en) | Disaster recovery data sync | |
CN111367994A (zh) | 数据库增量数据同步备份方法及系统 | |
CN114048217A (zh) | 增量数据的同步方法和装置、电子设备和存储介质 | |
CN102750322A (zh) | 一种机群文件系统分布式元数据一致性保证方法和系统 | |
CN113282555A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114490554A (zh) | 数据同步方法及其装置、电子设备及存储介质 | |
CN102346757A (zh) | Ims数据库联机交易中数据影印方法及系统 | |
CN104915376B (zh) | 一种云存储中文件的归档压缩方法 | |
CN110008284A (zh) | 基于数据页预加载及回滚的数据库数据同步方法及设备 | |
KR101191832B1 (ko) | 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템 | |
US20120005175A1 (en) | Method and a system for real time replaying of database workload at a fixed initial time delay | |
US20200401313A1 (en) | Object Storage System with Priority Meta Object Replication | |
CN114490570A (zh) | 生产数据同步方法、装置、数据同步系统及服务器 | |
US20170075920A1 (en) | System and methods for detecting precise file system events from a large number and assortment of automatically-generated file system events during user operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120208 |