一种对ORACLE数据库内外网数据双向同步的系统及方法技术方案

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

A system and method for bidirectional synchronization of internal and external network data in ORACLE database

The invention discloses a system and method for bidirectional synchronization of Intranet and intranet data in ORACLE database, including a change data acquisition module, which obtains the change data by flashback query function of ORACLE, and a data extraction module, which is used for timely extracting and updating the changed data to the corresponding intranet and extranet data when new data is added. In the library. Compared with the existing technology, the system and method of bidirectional synchronization of data in ORACLE database need to have accessibility in both internal and external networks, independence of internal and external networks in database, consistency of data in internal and external networks in business, and strong practicability.

【技术实现步骤摘要】
一种对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,从而消除数据变化的回声。上述主键是指primarykey,是数据库表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。采用在目的库增量变化表设置标记的方式防止数据在两个库直接的交替震荡;在插入变化数据到目的库之前先在目的变化表插入一条标记数据标识此数据是抽取过来的。以上所述仅为本专利技术的较佳实施例,本文档来自技高网
...

【技术保护点】
1.一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,包括,变化数据捕获模块,通过ORACLE的闪回查询功能,获取变化数据;数据抽取模块,用于在有新增数据时及时将变更的数据抽取并更新到相对应的内外网数据库中。

【技术特征摘要】
1.一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,包括,变化数据捕获模块,通过ORACLE的闪回查询功能,获取变化数据;数据抽取模块,用于在有新增数据时及时将变更的数据抽取并更新到相对应的内外网数据库中。2.根据权利要求1所述的一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,所述变化数据捕获模块中,通过ORACLE的闪回查询功能是指通过ORACLE的定时器定时调度存储过程来查看不同时间内是否发生数据变化,从而获取变化数据。3.根据权利要求2所述的一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,所述变化数据包括业务数据和事物号码。4.根据权利要求1所述的一种对ORACLE数据库内外网数据双向同步的系统,其特征在于,所述数据抽取模块中配置有内网数据轮询单元和外网数据变更单元,其中内网数据轮询单元定时轮询扫描内网,外网数据变更单元用于完成外网ORACLE的变更表的数据更新。5.一种对ORACLE数据库内外网数据双向同步的方法,其特征在于,其实现过程为,一、首先通过变化数据捕获模块捕获变化的数据;二、然后通过数据抽取模块在有新增数据时,将变更的数据抽取并更新到相对应的内外网数据库中。6.根据权利要求5所述的一种对ORACLE数据库内外网数据双向同步的方法,其特征在于,所述步骤一中,变化数据捕获模块通过ORACLE的闪回查询功能完成变化数据的捕获,其具体过程为:1)首先获取上次执行存...

【专利技术属性】
技术研发人员:蒋文博丁伍洪刘顼
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东,37

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

1