[发明专利]数据推送方法和系统有效
申请号: | 201410706244.1 | 申请日: | 2014-11-28 |
公开(公告)号: | CN104408132B | 公开(公告)日: | 2018-03-02 |
发明(设计)人: | 秦宝齐;罗元旺 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/06 |
代理公司: | 中原信达知识产权代理有限责任公司11219 | 代理人: | 鲁山,孙志湧 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 推送 方法 系统 | ||
技术领域
本发明涉及基于数据库增量日志解析的大规模数据流实时消费技术,更具体地,涉及一种数据推送方法和系统。
背景技术
随着公司业务的发展,对于大规模的数据抽取的需求越发强烈。数据抽取是指从源端数据库抽取需要的数据。实际应用中,源端数据库较多采用的是关系数据库。常见的数据抽取方式包括:(一)全量数据抽取,全量数据抽取类似于数据迁移或数据复制,它将源端中的表或视图的数据原封不动的从数据库中抽取出来;(二)增量数据抽取,增量数据抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。增量数据抽取较全量数据抽取应用更广。如何捕获变化的数据是增量数据抽取的关键。对捕获方法一般有两点要求:准确性,能够将业务系统中的变化数据准确地捕获到;性能,尽量减少对业务系统造成太大的压力,影响现有业务。
在传统的定时转储(dump)增量数据的方式已不能满足需求的情况下,实时增量数据的获取成为了解决这一问题的趋势。数据推送平台是一套实现异构数据库间实现增/全量的数据推送的完整解决方案。增量推送旨在解决大规模下高效稳定的推送增量数据给订阅客户端以满足业务需求的目的。
传统的增量数据的抽取方式是定时转储增量数据生成相应的数据文件,但这种方式存在以下问题:需要在源端业务表增加时间戳字段,一定程度上污染了源端业务表;定时执行导致数据存在一定程度的延时;转储出来的数据文件和业务关联过紧,不易被重用;定时任务启动时往往对源端数据库和网络造成较大的瞬时压力。
而基于数据库增量日志解析的增量数据流很好地解决了上述问题,能够对源端业务表无侵入,增量数据的准实时(只要订阅端消费速度够快),按需抽取及订阅数据,h散,不易出现瞬时峰值。例如,现有技术中采用的canal开源项目就是基于数据库增量日志解析,并提供了增量订阅和消费功能。canal能够很好的实现数据库增量日志解析工作,基于canal的功能,我们可以通过配置抽取任务从源端抽取增量数据暂存于内存,然后根据业务需求开发定制的订阅客户端。
图1示意性地图示了根据现有技术的数据推送系统的视图。现有技术的数据推送系统100包括:源端数据库101;数据库增量日志解析服务器103,基于数据库增量日志解析,提供增量订阅和消费功能,数据库增量日志解析服务器103例如canal服务器;订阅端105,用于产生订阅任务。
虽然canal提供了增量数据解析的基本功能,但仍然面临以下几个问题:
(1).数据抽取与数据订阅无法实现一对多
因为canal增量数据不落地(即,数据暂存于内存)的设计所限,canal无法做到只抽取一次数据而被多客户端订阅。这也就意味着抽取和订阅必须成对出现,过多的抽取任务加大了抽取源端数据库的压力、浪费了大量的网络流量、降低了单台canal服务器的承载能力和吞吐量。
(2).增量数据保存时间不受控
此问题也和上述设计有关,因为增量数据不落地,且源端数据库的日志保存时间不能由数据推送平台控制,所以数据推送平台也无法对下游的订阅端承诺增量数据保存期限。这也降低了数据推送平台对外提供服务的能力。
(3).订阅端与抽取端依赖过强
这里的依赖分为两方面。
系统层面:抽取端与订阅端是基于长连接下的串行处理,订阅端的消费速度直接影响抽取端的抽取速度。
业务层面:抽取端任务是以数据库实例为边界的,无法对订阅端屏蔽源端分库分表等订阅端本不该关心的信息,也就导致了抽取任务和订阅任务间更强的耦合。
(4).订阅端缺少常用功能支持
canal本身只专注与数据的抽取与订阅,而对于订阅端一些常用的功能支持较弱,比如:虽然通过canal的订阅端SDK(Software Development Kit:软件开发工具包)可以获取增量的结构体数据,但对于将结构体数据解析、转化成相应DML(Data Manipulation Language:数据操纵语言)并最终插入目标DB(Database:数据库)这种最常见的应用场景支持不足。另一个开源项目otter(项目的开源链接地址:https://github.com/alibaba/otter)虽然支持上述的部分功能,但仍然无法满足复杂灵活的定制需求。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410706244.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置