CN108733823A - 一种对oracle数据库内外网数据双向同步的系统及方法 - Google Patents

一种对oracle数据库内外网数据双向同步的系统及方法 Download PDF

Info

Publication number
CN108733823A
CN108733823A CN201810495463.8A CN201810495463A CN108733823A CN 108733823 A CN108733823 A CN 108733823A CN 201810495463 A CN201810495463 A CN 201810495463A CN 108733823 A CN108733823 A CN 108733823A
Authority
CN
China
Prior art keywords
data
intranet
oracle
extranet
delta
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
Application number
CN201810495463.8A
Other languages
English (en)
Inventor
蒋文博
丁伍洪
刘顼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201810495463.8A priority Critical patent/CN108733823A/zh
Publication of CN108733823A publication Critical patent/CN108733823A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种对ORACLE数据库内外网数据双向同步的系统及方法,包括变化数据捕获模块,通过ORACLE的闪回查询功能,获取变化数据;数据抽取模块,用于在有新增数据时及时将变更的数据抽取并更新到相对应的内外网数据库中。本发明的一种对ORACLE数据库内外网数据双向同步的系统及方法与现有技术相比,解决应用程序需要在内外网都具有访问性,数据库需要内外网相互独立,业务上需要内外网数据保持一致的问题,实用性强。

Description

一种对ORACLE数据库内外网数据双向同步的系统及方法
技术领域
本发明涉及数据库数据同步领域,具体地说是一种实用性强的对ORACLE数据库内外网数据双向同步的系统及方法。
背景技术
很多的业务系统需要部署在内网环境,但是一部分业务需要通过互联网访问,为了安全方面的考虑,大部分情况下是采用内外网分开部署应用程序和数据库系统,然后通过数据交换的方式来保证业务上的一致性。
当前有很多的数据交换产品能够达到上述目的;这些产品在变化数据捕获方面主要通过如下几种方式实现功能:
采用批处理程序定时轮询。
利用数据库触发器监控变化数据。
基于数据库日志分析获取变化数据。
以上几种方式各有优缺点,比如前两种实施比较复杂,对业务库的侵入性较大,第三种虽然对业务系统的性能影响很小,且实时性强,但要求数据库系统必须具有日志管理系统,并且提供了分析日志文件所需的命令或工具,此外,不同的数据库系统的日志管理机制不同,不利于设计通用的日志分析方法,基于此,亟需一种侵入性小、实施简单的数据库获取变化数据的技术。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强的对ORACLE数据库内外网数据双向同步的系统及方法。
一种对ORACLE数据库内外网数据双向同步的系统,包括,
变化数据捕获模块,通过ORACLE的闪回查询功能,获取变化数据;
数据抽取模块,用于在有新增数据时及时将变更的数据抽取并更新到相对应的内外网数据库中。
所述变化数据捕获模块中,通过ORACLE的闪回查询功能是指通过ORACLE的定时器定时调度存储过程来查看不同时间内是否发生数据变化,从而获取变化数据。
所述变化数据包括业务数据和事物号码。
所述数据抽取模块中配置有内网数据轮询单元和外网数据变更单元,其中内网数据轮询单元定时轮询扫描内网,外网数据变更单元用于完成外网ORACLE的变更表的数据更新。
一种对ORACLE数据库内外网数据双向同步的方法,其实现过程为,
一、首先通过变化数据捕获模块捕获变化的数据;
二、然后通过数据抽取模块在有新增数据时,将变更的数据抽取并更新到相对应的内外网数据库中。
所述步骤一中,变化数据捕获模块通过ORACLE的闪回查询功能完成变化数据的捕获,其具体过程为:
1)首先获取上次执行存储过程的时间;
2)获取当前时间;
3)通过ORACLE闪回查询获取上述两个时间之间的变化数据;
4)查找变化数据记录表中是否有主键一致同时数据事物号码为-1的记录,如果有对应的记录则直接删掉这行数据;如果没有则插入通过第3)步获取的变化数据,所述变化数据包括业务数据和事物号码。
所述步骤二中,数据抽取模块完成数据抽取更新的过程为:
首先通过内网数据轮询单元定时轮询扫描内网,查看数据是否发生变化;
外网数据变更单元在内网数据发生变化时,完成外网ORACLE的变更表的数据更新。
所述步骤二的具体实现过程为:
首先扫描源表的增量变化数据,发现有新的数据时开始进行抽取;再向目的表同步前先对变化数据进行判断;
如果是新增数据,通过主键检查目的库是否有此数据,有则放弃操作,无则插入此数据;
如果是修改的数据,通过主键检查目的库是否有此数据,有则进行更新操作,无则放弃此数据;
如果是删除的数据,通过主键检查目的库是否有此数据,有则进行删除操作,无则放弃此数据。
在对目的数据库进行增删改操作之前,插入到目的库对应的数据变化表一条记录,主键为源表对应的主键值,事物编码为-1,从而消除数据变化的回声。
本发明的一种对ORACLE数据库内外网数据双向同步的系统及方法和现有技术相比,具有以下有益效果:
本发明的一种对ORACLE数据库内外网数据双向同步的系统及方法,解决应用程序需要在内外网都具有访问性,数据库需要内外网相互独立,业务上需要内外网数据保持一致的问题;解决部署在内网和外网的两套ORACLE数据库之间数据同步问题;针对ORACLE数据库内外网进行数据同步,实施比较简单,对业务库的侵入性较小,能够提高项目的实施开发进度;实用性强,适用范围广泛,易于推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1为本发明的系统的实现示例图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如附图1所示,一种对ORACLE数据库内外网数据双向同步的系统,包括,
变化数据捕获模块,通过ORACLE的闪回查询功能,获取变化数据;
数据抽取模块,用于在有新增数据时及时将变更的数据抽取并更新到相对应的内外网数据库中。
所述变化数据捕获模块中,通过ORACLE的闪回查询功能是指通过ORACLE的定时器定时调度存储过程来查看不同时间内是否发生数据变化,从而获取变化数据。
所述变化数据包括业务数据和事物号码。
所述数据抽取模块中配置有内网数据轮询单元和外网数据变更单元,其中内网数据轮询单元定时轮询扫描内网,外网数据变更单元用于完成外网ORACLE的变更表的数据更新。
一种对ORACLE数据库内外网数据双向同步的方法,其实现过程为,
一、首先通过变化数据捕获模块捕获变化的数据;
二、然后通过数据抽取模块在有新增数据时,将变更的数据抽取并更新到相对应的内外网数据库中。
所述步骤一中,变化数据捕获模块通过ORACLE的闪回查询功能完成变化数据的捕获,其具体过程为:
1)首先获取上次执行存储过程的时间;
2)获取当前时间;
3)通过ORACLE闪回查询获取上述两个时间之间的变化数据;
4)查找变化数据记录表中是否有主键一致同时数据事物号码为-1的记录,如果有对应的记录则直接删掉这行数据;如果没有则插入通过第3)步获取的变化数据,所述变化数据包括业务数据和事物号码。
所述步骤二中,数据抽取模块完成数据抽取更新的过程为:
首先通过内网数据轮询单元定时轮询扫描内网,查看数据是否发生变化;
外网数据变更单元在内网数据发生变化时,完成外网ORACLE的变更表的数据更新。
所述步骤二的具体实现过程为:
首先扫描源表的增量变化数据,发现有新的数据时开始进行抽取;再向目的表同步前先对变化数据进行判断;
如果是新增数据,通过主键检查目的库是否有此数据,有则放弃操作,无则插入此数据;
如果是修改的数据,通过主键检查目的库是否有此数据,有则进行更新操作,无则放弃此数据;
如果是删除的数据,通过主键检查目的库是否有此数据,有则进行删除操作,无则放弃此数据。
在对目的数据库进行增删改操作之前,插入到目的库对应的数据变化表一条记录,主键为源表对应的主键值,事物编码为-1,从而消除数据变化的回声。
上述主键是指primary key,是数据库表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
采用在目的库增量变化表设置标记的方式防止数据在两个库直接的交替震荡;在插入变化数据到目的库之前先在目的变化表插入一条标记数据标识此数据是抽取过来的。
以上所述仅为本发明的较佳实施例,本发明的专利保护范围包括但不限于上述具体实施方式,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的专利保护范围之内。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (9)

1.一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,包括,
变化数据捕获模块,通过ORACLE的闪回查询功能,获取变化数据;
数据抽取模块,用于在有新增数据时及时将变更的数据抽取并更新到相对应的内外网数据库中。
2.根据权利要求1所述的一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,所述变化数据捕获模块中,通过ORACLE的闪回查询功能是指通过ORACLE的定时器定时调度存储过程来查看不同时间内是否发生数据变化,从而获取变化数据。
3.根据权利要求2所述的一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,所述变化数据包括业务数据和事物号码。
4.根据权利要求1所述的一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,所述数据抽取模块中配置有内网数据轮询单元和外网数据变更单元,其中内网数据轮询单元定时轮询扫描内网,外网数据变更单元用于完成外网ORACLE的变更表的数据更新。
5.一种对ORACLE数据库内外网数据双向同步的方法,其特征在于,其实现过程为,
一、首先通过变化数据捕获模块捕获变化的数据;
二、然后通过数据抽取模块在有新增数据时,将变更的数据抽取并更新到相对应的内外网数据库中。
6.根据权利要求5所述的一种对ORACLE数据库内外网数据双向同步的方法,其特征在于,所述步骤一中,变化数据捕获模块通过ORACLE的闪回查询功能完成变化数据的捕获,其具体过程为:
1)首先获取上次执行存储过程的时间;
2)获取当前时间;
3)通过ORACLE闪回查询获取上述两个时间之间的变化数据;
4)查找变化数据记录表中是否有主键一致同时数据事物号码为-1的记录,如果有对应的记录则直接删掉这行数据;如果没有则插入通过第3)步获取的变化数据,所述变化数据包括业务数据和事物号码。
7.根据权利要求5所述的一种对ORACLE数据库内外网数据双向同步的方法,其特征在于,所述步骤二中,数据抽取模块完成数据抽取更新的过程为:
首先通过内网数据轮询单元定时轮询扫描内网,查看数据是否发生变化;
外网数据变更单元在内网数据发生变化时,完成外网ORACLE的变更表的数据更新。
8.根据权利要求5或7所述的一种对ORACLE数据库内外网数据双向同步的方法,其特征在于,所述步骤二的具体实现过程为:
首先扫描源表的增量变化数据,发现有新的数据时开始进行抽取;再向目的表同步前先对变化数据进行判断;
如果是新增数据,通过主键检查目的库是否有此数据,有则放弃操作,无则插入此数据;
如果是修改的数据,通过主键检查目的库是否有此数据,有则进行更新操作,无则放弃此数据;
如果是删除的数据,通过主键检查目的库是否有此数据,有则进行删除操作,无则放弃此数据。
9.根据权利要求5所述的一种对ORACLE数据库内外网数据双向同步的方法,其特征在于,在对目的数据库进行增删改操作之前,插入到目的库对应的数据变化表一条记录,主键为源表对应的主键值,事物编码为-1,从而消除数据变化的回声。
CN201810495463.8A 2018-05-22 2018-05-22 一种对oracle数据库内外网数据双向同步的系统及方法 Pending CN108733823A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810495463.8A CN108733823A (zh) 2018-05-22 2018-05-22 一种对oracle数据库内外网数据双向同步的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810495463.8A CN108733823A (zh) 2018-05-22 2018-05-22 一种对oracle数据库内外网数据双向同步的系统及方法

Publications (1)

Publication Number Publication Date
CN108733823A true CN108733823A (zh) 2018-11-02

Family

ID=63938742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810495463.8A Pending CN108733823A (zh) 2018-05-22 2018-05-22 一种对oracle数据库内外网数据双向同步的系统及方法

Country Status (1)

Country Link
CN (1) CN108733823A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711615A (zh) * 2020-05-29 2020-09-25 成都金隼智安科技有限公司 一种边缘安全计算节点的知识库信息同步系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067483A (zh) * 2012-12-25 2013-04-24 广东邮电职业技术学院 基于数据包的远程数据增量同步方法和装置
US20140109110A1 (en) * 2012-10-15 2014-04-17 Oracle International Corporation System and method for supporting asynchronous message processing in a distributed data grid
CN106503104A (zh) * 2016-10-17 2017-03-15 山东浪潮商用系统有限公司 一种内外网隔离模式下Oracle数据库数据复制方法
CN108038163A (zh) * 2017-12-06 2018-05-15 交控科技股份有限公司 主备控制中心数据库同步系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140109110A1 (en) * 2012-10-15 2014-04-17 Oracle International Corporation System and method for supporting asynchronous message processing in a distributed data grid
CN103067483A (zh) * 2012-12-25 2013-04-24 广东邮电职业技术学院 基于数据包的远程数据增量同步方法和装置
CN106503104A (zh) * 2016-10-17 2017-03-15 山东浪潮商用系统有限公司 一种内外网隔离模式下Oracle数据库数据复制方法
CN108038163A (zh) * 2017-12-06 2018-05-15 交控科技股份有限公司 主备控制中心数据库同步系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何伟: ""基于网络隔离的数据库同步方法"", 《信息安全与通信保密》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711615A (zh) * 2020-05-29 2020-09-25 成都金隼智安科技有限公司 一种边缘安全计算节点的知识库信息同步系统和方法
CN111711615B (zh) * 2020-05-29 2022-07-26 成都金隼智安科技有限公司 一种边缘安全计算节点的知识库信息同步系统和方法

Similar Documents

Publication Publication Date Title
CN109460349B (zh) 一种基于日志的测试用例生成方法和装置
CN103460208B (zh) 用于将数据加载到时态数据仓库的方法和系统
EP3026582B1 (en) Transaction control block for multiversion concurrency commit status
CN105122243B (zh) 用于半结构化数据的可扩展分析平台
Khurana et al. Efficient snapshot retrieval over historical graph data
EP3274875B1 (en) System and method for querying data sources
CN102129478B (zh) 数据库同步方法及系统
CN103235820B (zh) 一种集群系统中数据存储方法与装置
CN105005618A (zh) 一种异构数据库之间的数据同步方法及系统
US10963839B2 (en) Nested hierarchical rollups by level using a normalized table
CN101901237B (zh) 一种基于SQlite构建的类型-索引-内容方式分布式数据库
CN104317843A (zh) 一种数据同步etl系统
CN103678494A (zh) 客户端同步服务端数据的方法及装置
CN109408589A (zh) 数据同步方法及装置
WO2006052517A1 (en) Object replication using information quality of service
JP2013020633A (ja) データのカテゴリフィルタ処理のための装置及び方法
CN103177094A (zh) 一种物联网数据清洗方法
US20090132607A1 (en) Techniques for log file processing
CN108733823A (zh) 一种对oracle数据库内外网数据双向同步的系统及方法
US7415458B2 (en) Computer systems and methods for operating a computer system
CN107085613A (zh) 入库文件的过滤方法和装置
CN111400303B (zh) 智能合约数据提取和同步方法、系统
Suganya et al. Efficient fragmentation and allocation in distributed databases
CN105956127A (zh) 一种类目数据处理方法和装置
CN105653367A (zh) 遍历计时器的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181102