[发明专利]一种关系数据库日志抽取方法有效
申请号: | 201710224035.7 | 申请日: | 2017-04-07 |
公开(公告)号: | CN107122424B | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 刘赛;聂庆节;刘军;刘嘉华;姜建飞;周忠冉;张磊;缪骞云 | 申请(专利权)人: | 南京南瑞集团公司;南京南瑞信息通信科技有限公司 |
主分类号: | G06F16/18 | 分类号: | G06F16/18;G06F16/16;G06F16/28 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 210003 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关系 数据库 日志 抽取 方法 | ||
本发明公开了一种关系数据库日志抽取方法,包括获取数据库日志文件路径、日志文件存储格式;打开日志文件,读取数据块,获取数据块大小和数量,确定数据库版本信息;从当前数据块中读取日志记录信息;判断该条日志记录信息是否完整,如果不完整则继续从下一个数据块中读取,直到拼装成完整的日志记录信息;解析完整的日志记录信息,获取操作码,并根据操作码依次读取日志记录信息中的所有变化操作数据;检查变化操作数据是否为有效变化数据,如果不是则丢掉,读取下一个变化操作数据,如果有效则将其添加到数据结果集中,检查完所有变化操作数据,则一次数据抽取结束。本发明可以精确抽取出变化日志数据,同时不会影响数据库自身性能。
技术领域
本发明涉及一种关系数据库日志抽取方法,属于数据库数据复制技术领域。
背景技术
随着信息技术的深入发展,应用系统的不断升级,系统之间的集成贯通越来越多的需要数据交互,数据抽取已经逐步成为了信息系统融合的关键部分。然而,所有针对数据的抽取与交互都包含着一个基本的假设——数据的可用性和可靠性。数据库抽取技术作为各个领域的主流数据处理技术,其数据的可用性和与可靠性自然备受关注。数据库日志挖掘技术正是在这种要求下产生的。
国内外关系型数据库日志挖掘技术分为两种类型,一种是基于逻辑级日志抽取技术、一种是基于物理级Redo抽取技术。数据库日志抽取技术在信息系统集成交互领域应用广泛,主要使用的是基于逻辑级日志抽取技术,此类数据抽取技术多数需要依靠数据库自身提供的插件实现变化数据捕获,数据抽取延时较大,同时抽取过程中会对数据库自身的性能产生一定的影响,目前传统的基于逻辑级的日志抽取技术,不能较好的解决数据库日志抽取效率问题,并且对生产库影响较大。
发明内容
为了解决上述技术问题,本发明提供了一种关系数据库日志抽取方法。
为了达到上述目的,本发明所采用的技术方案是:
一种关系数据库日志抽取方法,包括以下步骤,
获取数据库日志文件路径、日志文件存储格式;
打开日志文件,读取数据块,获取数据块大小和数量,确定数据库版本信息;
从当前数据块中读取日志记录信息;
判断该条日志记录信息是否完整,如果不完整则继续从下一个数据块中读取,直到拼装成完整的日志记录信息;
解析完整的日志记录信息,获取操作码,并根据操作码依次读取日志记录信息中的所有变化操作数据;
检查变化操作数据是否为有效变化数据,如果不是则丢掉,读取下一个变化操作数据,如果有效则将其添加到数据结果集中,检查完所有变化操作数据,则一次数据抽取结束。
日志文件存储格式包括数据库文件系统格式、裸设备格式以及ASM格式。
读取数据块时,判断数据块前后SEQ号之间的关系,设当前数据块的SEQ号为s1,下一个数据块的SEQ号为s2,数据库的SEQ号为s3,通过比较确定下一步处理方法:
当s1=s2时:
s2=s3,Redo正常读写,正常读取下一个数据块;
s3>s2,Redo已被切换,当前Redo未完成,正常读取下一个数据块;
s3<s2,此情况不存在;
当s1<s2时:
s3=s2,Redo已被切换,s1可能有未读完数据,下一个数据块被新数据覆盖,从s1对应的归档中读取下一个数据块;
s3>s2,Redo已被切换,s1可能有未读完数据,下一个数据块被新数据覆盖,从s1对应的归档中读取下一个数据块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞集团公司;南京南瑞信息通信科技有限公司,未经南京南瑞集团公司;南京南瑞信息通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710224035.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:影视推介方法及装置
- 下一篇:对企业客户进行评价的方法及系统