CN104516989B - 增量数据推送系统和方法 - Google Patents

增量数据推送系统和方法 Download PDF

Info

Publication number
CN104516989B
CN104516989B CN201510038350.1A CN201510038350A CN104516989B CN 104516989 B CN104516989 B CN 104516989B CN 201510038350 A CN201510038350 A CN 201510038350A CN 104516989 B CN104516989 B CN 104516989B
Authority
CN
China
Prior art keywords
data
file
incremental
distributed
export
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.)
Active
Application number
CN201510038350.1A
Other languages
English (en)
Other versions
CN104516989A (zh
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.)
Beijing Jingdong three hundred and sixty degree e-commerce Co., Ltd.
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510038350.1A priority Critical patent/CN104516989B/zh
Publication of CN104516989A publication Critical patent/CN104516989A/zh
Application granted granted Critical
Publication of CN104516989B publication Critical patent/CN104516989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种增量数据推送系统和方法。该增量数据推送方法包括在分布式调度中心的任务分配及调度下进行的如下处理:抓取处理;增量解析处理;逻辑主题合并处理;中间存储处理;数据字段过滤处理;以及导出处理。

Description

增量数据推送系统和方法
技术领域
本发明涉及一种数据推送系统和方法,更具体地,涉及一种基于增量同步的分布式任务分解和中间数据的生成与合并逻辑的增量数据推送系统和方法。
背景技术
由于云计算技术的发展,越来越多的第三方开发人员使用了云平台技术。其中很大一部分OLAP(On-Line Analytical Processing:联机分析处理)应用都需要一些基于关系数据库的共享数据信息,而准确的将共享数据库的数据定时提供给分析系统成为常见的需求内容。
在现有技术中,数据提供系统定期通过数据库全量备份,将某一个时刻的数据快照保存为文件形式,然后直接导入目标数据平台或是通过程序对全量数据进行处理后导入。
上述现有技术中存在以下缺点:1).数据重复度高:每次数据同步都是抓取的某一时刻的全量数据快照,而其中有很大一部分数据都是重复的,对计算及吞吐性能是比较大的浪费;2).时效性差:由于抓取的全量数据耗时较久,所以无法较为频繁的进行数据的同步,对于频繁更新的数据与真实数据的差异较大;3).对数据库性能有影响:每次同步数据需要对数据库进行快照抓取,对于运行压力较大的数据库增加了其运行负载,虽然可以通过增加slave库进行解决,但是slave同步也存在稳定性及延迟等多方面问题,对于权限控制也较为不利;4).数据同步为单点操作:由于全量快照的原理,操作必须由单一线程进行,如果出现异常,操作必须从头开始。而如果采用多线程分解将导致数据一致性出现问题。
发明内容
本发明要解决的技术问题
减少数据导出的重复性及对数据库性能的影响。在不影响数据库性能与数据准确性的前提下,增加容错性与处理性能。
解决方案
根据本发明的第一方面,提供了一种增量数据推送系统,包括:数据库服务器,用于存储关系数据库,并且存储由所述关系数据库所产生的二进制日志文件;分布式调度中心,用于任务分配及调度;分布式工作集群,所述分布式工作集群在所述分布式调度中心的调度下,用于从所述数据库服务器抓取所述二进制日志文件,基于分布式的处理对所述二进制日志文件进行增量解析,以解析出所述二进制日志文件中的增量记录,将增量记录中的属于同一逻辑主题的数据合并且保存在与所述同一逻辑主题相对应的中间文件中,将所述中间文件存储在中间存储单元中,依赖于业务需求对所存储的中间文件中的规定的字段进行过滤处理,根据不同业务系统的导出需求,将经过过滤处理之后的所述中间文件进行投影与合并并且保存为相应的业务系统所需要的格式的导出任务数据文件,然后传输至相应的业务系统;业务系统,向所述分布式工作集群发出导出任务的导出需求,并从所述分布式工作集群接收所述导出任务数据文件。
根据本发明的第二方面,提供了一种增量数据推送方法,包括在分布式调度中心的任务分配及调度下进行的如下处理:抓取处理,用于从数据库服务器抓取关系数据库的二进制日志文件;增量解析处理,基于分布式的处理对所述二进制日志文件进行增量解析,以解析出所述二进制日志文件中的增量记录;逻辑主题合并处理,将增量记录中的属于同一逻辑主题的数据合并;中间存储处理,将属于同一逻辑主题的经合并的数据保存在与所述同一逻辑主题相对应的中间文件中,并且将所述中间文件存储在中间存储单元中;数据字段过滤处理,依赖于业务需求对所存储的中间文件中的规定的字段进行过滤处理;以及导出处理,根据不同业务系统的导出需求,将经过过滤处理之后的所述中间文件进行投影与合并并且保存为相应的业务系统所需要的格式的导出任务数据文件,然后传输至相应的业务系统。
根据本发明的第三方面,提供了一种增量数据推送系统,包括分布式调度中心和分布式工作集群,其中,所述分布式工作集群包括:抓取单元,用于从数据库服务器抓取关系数据库的二进制日志文件;增量解析单元,基于分布式的处理对所述二进制日志文件进行增量解析,以解析出所述二进制日志文件中的增量记录;逻辑主题合并单元,将增量记录中的属于同一逻辑主题的数据合并;中间存储单元,将属于同一逻辑主题的经合并的数据保存在与所述同一逻辑主题相对应的中间文件中,并且将所述中间文件存储在中间存储单元中;数据字段过滤单元,依赖于业务需求对所存储的中间文件中的规定的字段进行过滤处理;以及导出单元,根据不同业务系统的导出需求,将经过过滤处理之后的所述中间文件进行投影与合并并且保存为相应的业务系统所需要的格式的导出任务数据文件,然后传输至相应的业务系统。
根据本发明的第四方面,提供了一种推送增量数据的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第二方面提供的增量数据推送方法。
根据本发明的第五方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明第二方面提供的增量数据推送方法。
本发明的有益效果
本发明大幅度降低了数据同步的数据量,从而降低了数据的重复性,改善了同步的性能;解决了同步操作的单点问题,使得整个流程可以被分解,分布式运行;在降低同步数据量的同时,并没有降低数据导出的灵活性,可以任意设定导出的数据范围和指定同步时间。
附图说明
图1是示例根据本发明的实施例的增量数据推送系统的框图。
图2是示例根据本发明的实施例的增量数据推送方法的流程图。
具体实施方式
下面将参照附图详细解释根据本发明的实施例的技术方案。
图1是示例根据本发明的实施例的增量数据推送系统100的框图。增量数据推送系统100包括数据库服务器102、分布式调度中心103、分布式工作集群104、业务系统118、120、122。
数据库服务器102存储关系数据库,关系数据库利用存在的binlog日志机制,能够将全部的数据库操作记录为binlog文件(二进制日志文件)。关系数据库例如可以是MySQL数据库。“MySQL”是一个开放源码的小型关系数据库管理系统。
分布式调度中心103将要由分布式工作集群104执行的所有的操作抽象为任务形式,使得操作进行有效的分解,提高可用性,所述操作可以泛指一切工作流程,比如从binlog中解析增量记录至中间文件,或是将中间文件合并投影,或是定期清理过期数据等。分布式调度中心103例如可以采用ZooKeeper系统,ZooKeeper是Apache的开源分布式协调工具。
分布式工作集群104包括:抓取单元106,增量解析单元108,逻辑主题合并单元110,中间存储单元112,数据字段过滤单元114,和导出单元116。
抓取单元106用于从数据库服务器102抓取关系数据库的binlog文件。增量解析单元108基于分布式的处理对所抓取的binlog文件进行增量解析,以解析出所述binlog文件中的增量记录。逻辑主题合并单元110将增量记录按逻辑主题(即,逻辑表)进行分类,将增量记录中的属于同一逻辑主题的数据合并。中间存储单元112将属于同一逻辑主题的经合并后的数据保存在与所述同一逻辑主题相对应的中间文件1、2、3、4中,例如,属于第1逻辑主题的数据经过合并后保存在中间文件1中,属于第2逻辑主题的数据经过合并后保存在中间文件2中,属于第3逻辑主题的数据经过合并后保存在中间文件3中,属于第4逻辑主题的数据经过合并后保存在中间文件4中,并且将所述中间文件1、2、3、4存储在中间存储单元112中。数据字段过滤单元114依赖于业务需求对所存储的合并后数据中的规定的字段进行过滤处理。导出单元116根据不同业务系统118、120、122的导出需求,将所述中间文件1、2、3、4进行投影与合并并且保存为相应的业务系统118、120、122所需要的格式的导出任务数据文件,然后分别传输至各个相应的业务系统118、120、122。
业务系统118、120、122是数据的导出终端,向所述分布式工作集群104发出各自的导出任务的导出需求,并从所述分布式工作集群104的导出单元116接收导出任务数据文件。导出任务的入口为特定业务系统的导出需求,产出为生成的导出任务数据文件。
虽然图1示出了四个中间文件1、2、3、4,和三个业务系统118、120、122,但是本领域技术人员应当理解,其仅仅是示例性的,实际中间文件和业务系统的数目都不受限制,可以更多或更少。
其中,所述中间文件包括数据来源、操作类型、数据库操作时间、操作的全部数据字段信息与内容,所述中间文件的序列化方式例如可以采用protobuf。protobuf是Protocol Buffers的简称。Protocol Buffers是Google公司开发的一种数据描述语言,类似于XML(eXtensible Markup Language:可扩展标记语言)能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强。通过它,可以定义数据的结构,并生成基于各种语言的代码。这些定义的数据流可以轻松地在传递并不破坏已有的程序。
图2是示例根据本发明的实施例的增量数据推送方法的流程图200。根据本发明的实施例的增量数据推送方法可以通过例如ZooKeeper进行以下处理:抓取处理202,用于从数据库服务器102抓取关系数据库的binlog文件;增量解析处理204,基于分布式的处理对所述binlog文件进行增量解析,以解析出所述binlog文件中的增量记录;逻辑主题合并处理206,将增量记录中的属于同一逻辑主题的数据合并;中间存储处理210,将属于同一逻辑主题的经合并的数据保存在与所述同一逻辑主题相对应的中间文件1、2、3、4中,并且将所述中间文件1、2、3、4存储在中间存储单元112中;数据字段过滤处理208,依赖于业务需求对所存储的合并后数据中的规定的字段进行过滤处理;导出处理212,根据不同业务系统118、120、122的导出需求,将所述中间文件1、2、3、4进行投影与合并并且保存为相应的业务系统118、120、122所需要的格式的导出任务数据文件,然后传输至相应的业务系统118、120、122。
上述实施例仅是本发明的优选实施例,并不用于限制本发明。对本领域技术人员显而易见的是,在不脱离本发明的精神和范围的情况下,可以对本发明的实施例进行各种修改和改变。因此,本发明意在涵盖落入如权利要求所限定的本发明的范围之内的所有这样的修改或变型。
附图标记列表:
100 增量数据推送系统
102 数据库服务器102
103 分布式调度中心103
104 分布式工作集群
106 抓取单元
108 增量解析单元
110 逻辑主题合并单元
112 中间存储单元
114 数据字段过滤单元
116 导出单元
118,120,122 业务系统

Claims (9)

1.一种增量数据推送系统,包括:
数据库服务器,用于存储关系数据库,并且存储由所述关系数据库所产生的二进制日志文件;
分布式调度中心,用于任务分配及调度;
分布式工作集群,所述分布式工作集群在所述分布式调度中心的调度下,用于从所述数据库服务器抓取所述二进制日志文件,基于分布式的处理对所述二进制日志文件进行增量解析,以解析出所述二进制日志文件中的增量记录,将增量记录中的属于同一逻辑主题的数据合并且保存在与所述同一逻辑主题相对应的中间文件中,将所述中间文件存储在中间存储单元中,依赖于业务需求对所存储的中间文件中的规定的字段进行过滤处理,根据不同业务系统的导出需求,将经过过滤处理之后的所述中间文件进行投影与合并并且保存为相应的业务系统所需要的格式的导出任务数据文件,然后传输至相应的业务系统;
业务系统,向所述分布式工作集群发出导出任务的导出需求,并从所述分布式工作集群接收所述导出任务数据文件;
其中,所述中间文件包括数据来源、操作类型、数据库操作时间、操作的全部数据字段信息与内容。
2.根据权利要求1所述的增量数据推送系统,
其中,所述关系数据库是MySQL数据库,所述分布式调度中心是ZooKeeper系统。
3.根据权利要求1或2所述的增量数据推送系统,
其中,所述中间文件的序列化方式采用protobuf。
4.一种增量数据推送方法,包括在分布式调度中心的任务分配及调度下进行的如下处理:
抓取处理,用于从数据库服务器抓取关系数据库的二进制日志文件;
增量解析处理,基于分布式的处理对所述二进制日志文件进行增量解析,以解析出所述二进制日志文件中的增量记录;
逻辑主题合并处理,将增量记录中的属于同一逻辑主题的数据合并;
中间存储处理,将属于同一逻辑主题的经合并的数据保存在与所述同一逻辑主题相对应的中间文件中,并且将所述中间文件存储在中间存储单元中;
数据字段过滤处理,依赖于业务需求对所存储的中间文件中的规定的字段进行过滤处理;以及
导出处理,根据不同业务系统的导出需求,将经过过滤处理之后的所述中间文件进行投影与合并并且保存为相应的业务系统所需要的格式的导出任务数据文件,然后传输至相应的业务系统;
其中,所述中间文件包括数据来源、操作类型、数据库操作时间、操作的全部数据字段信息与内容。
5.根据权利要求4所述的增量数据推送方法,
其中,所述关系数据库是MySQL数据库,所述方法使用ZooKeeper系统。
6.根据权利要求4或5所述的增量数据推送方法,
其中,所述中间文件的序列化方式采用protobuf。
7.一种增量数据推送系统,包括分布式调度中心和分布式工作集群,
其中,所述分布式工作集群包括:
抓取单元,用于从数据库服务器抓取关系数据库的二进制日志文件;
增量解析单元,基于分布式的处理对所述二进制日志文件进行增量解析,以解析出所述二进制日志文件中的增量记录;
逻辑主题合并单元,将增量记录中的属于同一逻辑主题的数据合并;
中间存储单元,将属于同一逻辑主题的经合并的数据保存在与所述同一逻辑主题相对应的中间文件中,并且将所述中间文件存储在中间存储单元中;
数据字段过滤单元,依赖于业务需求对所存储的中间文件中的规定的字段进行过滤处理;以及
导出单元,根据不同业务系统的导出需求,将经过过滤处理之后的所述中间文件进行投影与合并并且保存为相应的业务系统所需要的格式的导出任务数据文件,然后传输至相应的业务系统;
其中,所述中间文件包括数据来源、操作类型、数据库操作时间、操作的全部数据字段信息与内容。
8.一种推送增量数据的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求4-6中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求4-6中任一所述的方法。
CN201510038350.1A 2015-01-26 2015-01-26 增量数据推送系统和方法 Active CN104516989B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510038350.1A CN104516989B (zh) 2015-01-26 2015-01-26 增量数据推送系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510038350.1A CN104516989B (zh) 2015-01-26 2015-01-26 增量数据推送系统和方法

Publications (2)

Publication Number Publication Date
CN104516989A CN104516989A (zh) 2015-04-15
CN104516989B true CN104516989B (zh) 2018-07-03

Family

ID=52792288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510038350.1A Active CN104516989B (zh) 2015-01-26 2015-01-26 增量数据推送系统和方法

Country Status (1)

Country Link
CN (1) CN104516989B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108076098B (zh) * 2016-11-16 2021-01-26 北京京东尚科信息技术有限公司 一种业务处理方法及系统
CN107204892B (zh) * 2017-04-12 2020-07-21 北京国电通网络技术有限公司 电力通信网运行数据处理方法及装置
CN107402963B (zh) * 2017-06-20 2020-10-02 阿里巴巴集团控股有限公司 搜索数据的构建方法、增量数据的推送方法及装置和设备
CN108255621A (zh) * 2018-01-10 2018-07-06 深圳友门鹿网络科技有限公司 一种基于binlog的MySQL增量消息解析方法
CN108052681B (zh) * 2018-01-12 2020-05-26 毛彬 一种关系型数据库间结构化数据的同步方法及系统
CN108984660A (zh) * 2018-06-28 2018-12-11 中译语通科技股份有限公司 一种MySQL数据库主从同步数据去重方法
CN109995854B (zh) * 2019-03-15 2022-02-25 网宿科技股份有限公司 调度方法、装置、电子设备和存储介质
CN110175209A (zh) * 2019-04-12 2019-08-27 中国人民财产保险股份有限公司 增量数据同步方法、系统、设备及存储介质
CN110334070A (zh) * 2019-05-21 2019-10-15 中国人民财产保险股份有限公司 数据处理方法、系统、设备及存储介质
CN110309206B (zh) * 2019-07-10 2022-06-10 中国联合网络通信集团有限公司 订单信息采集方法及系统
CN110704401A (zh) * 2019-10-10 2020-01-17 北京字节跳动网络技术有限公司 数据处理方法、装置、电子设备及存储介质
CN111856249B (zh) * 2020-07-24 2022-12-13 安测半导体技术(江苏)有限公司 一种芯片测试监控方法、客户端及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192227A (zh) * 2006-11-30 2008-06-04 阿里巴巴公司 一种基于分布式计算网络的日志文件分析方法和系统
CN102750283A (zh) * 2011-04-20 2012-10-24 阿里巴巴集团控股有限公司 海量数据同步系统及方法
CN103279543A (zh) * 2013-05-13 2013-09-04 清华大学 海量图数据上的路径模式查询系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508886B (zh) * 2011-10-19 2013-06-12 浙江大学 一种基于xml的空间数据增量同步更新方法
CN103678392A (zh) * 2012-09-20 2014-03-26 阿里巴巴集团控股有限公司 一种数据增量合并的方法及其装置
US9189531B2 (en) * 2012-11-30 2015-11-17 Orbis Technologies, Inc. Ontology harmonization and mediation systems and methods
US9720940B2 (en) * 2013-03-15 2017-08-01 Konstantinos (Constantin) F. Aliferis Data analysis computer system and method for parallelized and modularized analysis of big data
CN103825930B (zh) * 2013-11-12 2017-03-29 浙江省水文局 一种分布式环境下的实时数据同步方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192227A (zh) * 2006-11-30 2008-06-04 阿里巴巴公司 一种基于分布式计算网络的日志文件分析方法和系统
CN102750283A (zh) * 2011-04-20 2012-10-24 阿里巴巴集团控股有限公司 海量数据同步系统及方法
CN103279543A (zh) * 2013-05-13 2013-09-04 清华大学 海量图数据上的路径模式查询系统

Also Published As

Publication number Publication date
CN104516989A (zh) 2015-04-15

Similar Documents

Publication Publication Date Title
CN104516989B (zh) 增量数据推送系统和方法
Isah et al. A survey of distributed data stream processing frameworks
Brito et al. Scalable and low-latency data processing with stream mapreduce
CN111400326B (zh) 一种智慧城市数据管理系统及其方法
CN102262680B (zh) 一种基于海量数据存取需求的分布式数据库代理系统
US10831619B2 (en) Fault-tolerant stream processing
WO2018052907A1 (en) Data serialization in a distributed event processing system
CN107103064B (zh) 数据统计方法及装置
CN103430144A (zh) 数据源分析
CN106126601A (zh) 一种社保大数据分布式预处理方法及系统
US11507585B2 (en) Heartbeat propagation in a distributed stream processing system
CN109643310A (zh) 用于数据库中数据重分布的系统和方法
CN106339408A (zh) 数据同步方法、数据同步装置和服务器
EP2696297B1 (en) System and method for generating information file based on parallel processing
CN110209661B (zh) 一种人口基础信息库维护方法、系统及存储介质
CN105550351A (zh) 旅客行程数据即席查询系统及方法
CN113468166B (zh) 元数据处理方法、装置、存储介质及服务器
Chen et al. Data management at huawei: Recent accomplishments and future challenges
Bhandare et al. Generic log analyzer using Hadoop MapReduce framework
Chardonnens Big data analytics on high velocity streams
CN115714807A (zh) 工业场景数据中台的设计系统
Li Introduction to Big Data
Betts et al. Fast Data: Smart and at Scale
US11663216B2 (en) Delta database data provisioning
Zhang Enhancing Data Processing on Clouds with Hadoop/HBase

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191128

Address after: 100176 room 222, 2f, building C, No. 18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee after: Beijing Jingdong three hundred and sixty degree e-commerce Co., Ltd.

Address before: 100080 Beijing city Haidian District xingshikou Road No. 65 west Shan Creative Park District 11C four floor East West 1-4 layer 1-4 layer

Co-patentee before: Beijing Jingdong Century Commerce Co., Ltd.

Patentee before: Beijing Jingdong Shangke Information Technology Co., Ltd.

TR01 Transfer of patent right