CN105589924A - 一种数据库事务粒度同步方法 - Google Patents

一种数据库事务粒度同步方法 Download PDF

Info

Publication number
CN105589924A
CN105589924A CN201510821052.XA CN201510821052A CN105589924A CN 105589924 A CN105589924 A CN 105589924A CN 201510821052 A CN201510821052 A CN 201510821052A CN 105589924 A CN105589924 A CN 105589924A
Authority
CN
China
Prior art keywords
data
database
synchronous
transaction
instant message
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
CN201510821052.XA
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.)
CHINA REALTIME DATABASE Co Ltd
Original Assignee
CHINA REALTIME DATABASE 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 CHINA REALTIME DATABASE Co Ltd filed Critical CHINA REALTIME DATABASE Co Ltd
Priority to CN201510821052.XA priority Critical patent/CN105589924A/zh
Publication of CN105589924A publication Critical patent/CN105589924A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Water Supply & Treatment (AREA)
  • Public Health (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库事务粒度同步方法,属于电力***信息化及自动化领域。本发明包含下列内容:对日志的整合和传输以“事务”为单位,无需处理复杂的“回滚”机制,可以在保证一致性和完整性的情况下高效的进行数据库同步;选用了即时消息总线保证了数据安全的同时还有着更高的传输速率,本发明有利于提高数据库同步复制的效率,具有良好的运用前景。

Description

一种数据库事务粒度同步方法
技术领域
本发明属于电力***信息化及自动化领域,主要涉及数据库之间的实时同步进行数据交换的方法。
背景技术
随着国家电网公司SG-ERP工程的建设,国家电网公司在三集五大、两中心、信息平台、综合分析决策等方面都建设了相关的应用***,信息***架构更加复杂。为了保证不同业务***之间的数据一致性,必须解决业务***间的数据交换的问题,而通过业务***数据库之间的实时同步便是解决该问题的可行途径之一。
传统的数据库复制原理是抽取源端数据库的重做日志(redolog)或者归档日志(archivelog),然后通过TCP/IP传输到目标端,最后在目标端对接收到的日志进行解析,并装载到数据库中,从而保证源数据库和目标数据库的数据一致性。如《基于GoldenGate高级复制技术实现数据库同步》(《甘肃科技》2012年第24期,曹建辉)或者《基于OracleDataguard的数据同步机制及其实现》(信息技术与信息化2009,19(3):88-90,吴勇军、孟小锋)中所述的方法。
然而传统的数据库同步复制方法往往以SQL语句作为单位进行日志的处理与传输,因为复杂的“回滚”机制,性能受到很大的限制。同时,TCP/IP的传输速率也制约着数据库的同步效率,如何提高数据传输速率来增加数据库同步复制的效率也成为需要关注的问题。
发明内容
本发明目的是:针对现有技术中的不足,解决国家电网公司网络环境下,如何在保证数据一致性和完整性的情况下高效地进行数据库同步复制以满足业务***复杂的数据交换需求的问题,提供一种数据库事务粒度同步方法。
具体地说,本发明是采用以下技术方案实现的,包括以下步骤:
1)获取源端数据库的重做日志,在线分析获得SQL语句和数据,完成数据库级别、对象集合级别或表级别的数据复制,然后以“事务”为单位进行跟踪,只处理已经提交的交易,对于回滚操作则不做处理;
2)对要同步的数据表进行上锁操作,记录***改变号,然后进行解锁操作并根据***改变号获取表数据;
3)将数据转化为即时消息总线支持的格式,利用即时消息总线传输表数据;
4)目标端接收数据,解析接收到的数据,然后在数据库中装载数据,实现数据库的同步。
上述技术方案的进一步特征在于,源端数据库为Oracle、MYSQL、PostgreSQL数据库。
本发明的有益效果如下:本发明解决了电力***网络环境下位于不同安全区域的不同业务***数据库之间的数据同步、数据交换问题。由于采用了以“事务”为单位的日志解析技术,减少了数据的传输量,在保证一致性和完整性的情况下,提高了数据库同步复制的效率。数据传输时采用了即时消息总线,可以保证数据传输的安全性以及传输的效率。
附图说明
图1是解析重做日志的原理图。
图2是本发明以事务为单位保障数据一致性的原理图。
图3是本发明方法在读写分离场景下运用的实施例图。
图4是本发明方法在容灾场景下运用的实施例图。
具体实施方式
下面结合实施例并参照附图对本发明作进一步详细描述。
本发明的一个实施例,在国家电网公司的网络中使用,通过本实施例完成电力行业各业务***数据库之间的数据同步。本实施例采用的技术方案主要包含两个部分:首先,对日志的整合和传输以“事务”为单位,无需处理复杂的“回滚”机制。使用该技术,在拥有高性能的同时还能够更好的保持数据复制的一致性和完整性。其次,对于数据库日志的传输选用了即时消息总线。因为国家电网公司规划使用即时消息总线子***来进行数据的传输,所以通过即时消息总线子***可以保证数据安全。同时,即时消息总线子***有着更高的传输速率,可以大幅提升数据库同步复制的效率。本实施例支持源端为Oracle、MYSQL、PostgreSQL数据库,目标端支持任意数据库,在进行同步时,原数据库不停止运行,完全实现在线数据同步。
具体而言,本实施例包括如下步骤:
步骤A:获取源端数据库的重做日志,在线分析获得SQL语句和数据,完成数据库级别(DataBase级别)、对象集合级别(schema级别)或表级别(table级别)的数据复制。解析重做日志的原理如图1所示。然后以“事务”为单位进行跟踪,只处理已经提交的交易,对于回滚操作则不做处理,这样可以少抓取大约2/3的日志变化量。图2体现了通过以“事务”为单位能够保障数据一致性的原理。
步骤B:对要同步的数据表进行上锁操作,记录***改变号(如Oracle数据库同步时刻的SCN,Oraclesystemchangenumber),然后进行解锁操作并根据***改变号获取表数据。
步骤C:将数据转化为即时消息总线支持的格式,调用即时消息总线,传输表数据。
步骤D:目标端接收数据,解析接收到的数据,然后在数据库中装载数据,实现数据库的同步。
以下以本实施例在读写分离场景和容灾场景下的具体运用为例进行具体说明。
图3为读写分离场景,在该场景下数据库同步方式为:
步骤1:应用程序A写源数据库,修改数据库表。该源数据库为Oracle数据库。
步骤2:复制节点读取数据库变化,通过即时消息总线发送到目标数据库所在服务器上的复制节点。
步骤3:复制节点收到数据,通过分析,加载数据到本地数据库。
步骤4:应用程序B读取数据库内容。
图4为容灾场景,在该场景下数据库同步方式为:
步骤1:应用程序写业务数据库,修改数据库表。该业务数据库为Oracle数据库。
步骤2:复制节点读取数据库变化,通过即时消息总线发送到灾备数据库所在服务器上的复制节点。
步骤3:复制节点收到数据,通过分析,加载数据到灾备数据库。
虽然本发明已以较佳实施例公开如上,但实施例并不是用来限定本发明的。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。

Claims (2)

1.一种数据库事务粒度同步方法,其特征在于,包括以下步骤:
1)获取源端数据库的重做日志,在线分析获得SQL语句和数据,完成数据库级别对象集合级别或表级别的数据复制,然后以“事务”为单位进行跟踪,只处理已经提交的交易,对于回滚操作则不做处理;
2)对要同步的数据表进行上锁操作,记录***改变号,然后进行解锁操作并根据***改变号获取表数据;
3)将数据转化为即时消息总线支持的格式,利用即时消息总线传输表数据;
4)目标端接收数据,解析接收到的数据,然后在数据库中装载数据,实现数据库的同步。
2.根据权利要求1所述的数据事务粒度同步方法,其特征在于,源端数据库为Oracle、MYSQL、PostgreSQL数据库。
CN201510821052.XA 2015-11-23 2015-11-23 一种数据库事务粒度同步方法 Pending CN105589924A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510821052.XA CN105589924A (zh) 2015-11-23 2015-11-23 一种数据库事务粒度同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510821052.XA CN105589924A (zh) 2015-11-23 2015-11-23 一种数据库事务粒度同步方法

Publications (1)

Publication Number Publication Date
CN105589924A true CN105589924A (zh) 2016-05-18

Family

ID=55929503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510821052.XA Pending CN105589924A (zh) 2015-11-23 2015-11-23 一种数据库事务粒度同步方法

Country Status (1)

Country Link
CN (1) CN105589924A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991606A (zh) * 2017-03-29 2017-07-28 恒生电子股份有限公司 交易数据处理方法及装置
CN109614444A (zh) * 2018-11-12 2019-04-12 武汉达梦数据库有限公司 一种数据同步时的数据初始化方法
CN113039572A (zh) * 2018-09-14 2021-06-25 摩根大通国家银行 实现交易处理生态***的***和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047549A (zh) * 2006-04-10 2007-10-03 华为技术有限公司 数据同步***及其方法
CN101187888A (zh) * 2007-12-11 2008-05-28 浪潮电子信息产业股份有限公司 一种异构环境中复制数据库数据的方法
CN101807210A (zh) * 2010-04-26 2010-08-18 中兴通讯股份有限公司 一种数据库间数据同步的方法、***及设备
CN103905234A (zh) * 2012-12-28 2014-07-02 北京友友天宇***技术有限公司 提高分布式***中资源可用性的方法及***
US20140279871A1 (en) * 2013-03-13 2014-09-18 Marcelo Ochoa System and method for providing near real time data synchronization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047549A (zh) * 2006-04-10 2007-10-03 华为技术有限公司 数据同步***及其方法
CN101187888A (zh) * 2007-12-11 2008-05-28 浪潮电子信息产业股份有限公司 一种异构环境中复制数据库数据的方法
CN101807210A (zh) * 2010-04-26 2010-08-18 中兴通讯股份有限公司 一种数据库间数据同步的方法、***及设备
CN103905234A (zh) * 2012-12-28 2014-07-02 北京友友天宇***技术有限公司 提高分布式***中资源可用性的方法及***
US20140279871A1 (en) * 2013-03-13 2014-09-18 Marcelo Ochoa System and method for providing near real time data synchronization

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991606A (zh) * 2017-03-29 2017-07-28 恒生电子股份有限公司 交易数据处理方法及装置
CN113039572A (zh) * 2018-09-14 2021-06-25 摩根大通国家银行 实现交易处理生态***的***和方法
CN109614444A (zh) * 2018-11-12 2019-04-12 武汉达梦数据库有限公司 一种数据同步时的数据初始化方法

Similar Documents

Publication Publication Date Title
CN102855271B (zh) 一种多版本电网模型的存储与可追溯管理方法
CN104463472A (zh) 电子政务平台***
CN103593422A (zh) 一种异构数据库的虚拟访问管理方法
CN112163039A (zh) 基于企业级数据中台分析域的数据资源标准化管理***
CN105205154B (zh) 数据迁移方法以及装置
CN104036025A (zh) 一种基于分布式的海量日志采集***
CN104933173B (zh) 一种用于异构多数据源的数据处理方法、装置和服务器
CN105589924A (zh) 一种数据库事务粒度同步方法
CN104462185A (zh) 一种基于混合结构的数字图书馆云存储***
US10540366B2 (en) Transforming data structures and data objects for migrating data between databases having different schemas
CN103294413A (zh) 支持海量采集终端的分布式内存实时存储装置及方法
CN104915902A (zh) 一种基于云平台的外卖在线派送实现方法
CN104167817A (zh) 一种电力设备实时信息集成的***及方法
CN112148689A (zh) 一种用于城市级数据中台的数据共享交换***
CN112100227A (zh) 一种基于多级异构数据存储的大数据处理方法
CN106708972B (zh) 一种基于hana数据库利用slt组件对abap程序优化的方法
CN104580323A (zh) 云平台应用于农业信息服务
CN105407044A (zh) 一种基于nfs的云存储网关***的实现方法
CN106131186A (zh) 一种基于Redis分布式缓存的用电信息采集接口调试方法
CN105225067A (zh) 业务信息协同管理分享***
CN106060100A (zh) 一种分布式云存储服务器
CN104468788A (zh) 一种多网多终端数据同步方法
CN112328683A (zh) 一种支持数据库与库直接的数据传输方法、***及存储介质
CN115237426A (zh) 一种数据库差异的确定方法、装置、设备及存储介质
CN110968907A (zh) 基于bim的集团房地产建设工程的实施方法

Legal Events

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

Application publication date: 20160518

RJ01 Rejection of invention patent application after publication