[发明专利]一种数据库操作日志获取方法及系统在审
申请号: | 201510354150.7 | 申请日: | 2015-06-24 |
公开(公告)号: | CN105095358A | 公开(公告)日: | 2015-11-25 |
发明(设计)人: | 刘若曦;刘瑞东;张侃;韩飞 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京邦信阳专利商标代理有限公司 11012 | 代理人: | 金玺 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 操作 日志 获取 方法 系统 | ||
技术领域
本发明涉及数据库相关技术领域,特别是一种数据库操作日志获取方法及系统。
背景技术
随着实时计算技术的发展,企业对于应用的时效性要求越来越高。类似数据的离线抽取随由于方案先天的高延迟特性,导致了数据无法被实时应用所使用。一些高时效要求的场景无法得到满足,数据的价值也因此打了折扣。通过基于数据库的计算来满足实时应用看似可行,但随着井喷式增长的数据量而言,无论是RDBMS(关系型数据库管理系统)还是当下流行的NoSQL数据库(非关系型数据库系统),对于海量数据的查询与计算都将是一个不小的挑战。所以,需要有一套数据实时接入方案:在保证安全性、可靠性、时效性和对数据库低压力的前提下,将海量数据从数据库转移至实时应用。
现有的数据实时接入方案,基于数据库主从复制机制,采用“Client-Pull”(客户端拉取)模式,模拟从集群的服务进行数据接入。具体来说,客户端通过接入程序从主数据库中数据以用于实时应用。
然而,主从复制机制下的“Client-Pull”(客户端拉取)方式,对客户端的接入能力有较高要求,且数据的拉取是基于客户端发起,容易造成客户端访问过多或者客户端未能及时获取数据,导致数据实时性不高。
发明内容
基于此,有必要针对现有技术数据获取的实时性不高的技术问题,提供一种数据库操作日志获取方法及系统。
一种数据库操作日志获取方法,包括:
日志生成步骤,包括:主数据库当业务数据通过数据库接口进行操作后,采集数据库对业务数据操作所产生的日志封装成操作日志,并将操作日志加入到内存队列中;
日志监控步骤,包括:从内存队列中获取操作日志,将所获取的操作日志作为待发送操作日志,将所述待发送操作日志封装成日志推送请求并推送到客户端;
日志推送步骤,包括:客户端当监听到日志推送请求时,从日志推送请求中还原出所述业务数据并发送到实时应用。
一种数据库操作日志获取系统,包括:
日志生成模块,用于:主数据库当业务数据通过数据库接口进行操作后,采集数据库对业务数据操作所产生的日志封装成操作日志,并将操作日志加入到内存队列中;
日志监控模块,用于:从内存队列中获取操作日志,将所获取的操作日志作为待发送操作日志,将所述待发送操作日志封装成日志推送请求并推送到客户端;
日志推送模块,用于:客户端当监听到日志推送请求时,从日志推送请求中还原出所述业务数据并发送到实时应用。
本发明由主数据库将业务数据封装为操作日志,并由主数据库将操作日志主动推送到客户端,改变了主数据库与客户端的数据接入模式,同时保障了主数据库的性能和海量数据的接入速度。
附图说明
图1为本发明一种数据库操作日志获取方法的工作流程图;
图2为本发明最佳实施例的系统结构示意图;
图3为本发明一种数据库操作日志获取系统的结构模块图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示为本发明一种数据库操作日志获取方法的工作流程图,包括:
步骤S101,包括:主数据库当业务数据通过数据库接口进行操作后,采集数据库对业务数据操作所产生的日志封装成操作日志,并将操作日志加入到内存队列中;
步骤S102,包括:从内存队列中获取操作日志,将所获取的操作日志作为待发送操作日志,将所述待发送操作日志封装成日志推送请求并推送到客户端;
步骤S103,包括:客户端当监听到日志推送请求时,从日志推送请求中还原出所述业务数据并发送到实时应用。
步骤S101的主数据库将业务数据封装为操作日志,即操作日志中已经包括有业务数据,因此客户端在步骤S103获取到所推送到请求后,能够从其中还原出业务数据以供实时应用使用。同时,步骤S102对操作日志进行主动推送,因此,能很好地满足客户端的实时应用对实时性的要求,减少操作日志在主数据库上的积压,避免影响主数据库的性能。
在其中一个实施例中,在主数据库中,维护一个守护线程对内存队列中的操作日志进行监控,当检测到内存队列中的操作日志达到预设最大可保留阈值则执行步骤S102,最大可保留阈值可以根据实时应用对实时性的要求进行设置。
在其中一个实施例中,所述步骤S102,具体包括:
过滤子步骤,包括:从内存队列中获取操作日志,对所述操作日志所包括的业务数据进行过滤得到符合所述实时应用需要的操作日志作为待发送操作日志;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510354150.7/2.html,转载请声明来源钻瓜专利网。