[发明专利]实时数据同步方法、系统及框架有效
申请号: | 201711377062.4 | 申请日: | 2017-12-19 |
公开(公告)号: | CN108156230B | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 张俊;邹晨俊;赵原 | 申请(专利权)人: | 杭州有赞科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 姚宇吉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实时 数据 同步 方法 系统 框架 | ||
本发明提供了一种实时数据同步方法、系统及框架,其中,方法包括以下步骤:连接若干不同种类的源端存储系统;获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。本发明通过赋予消息顺序并依据消息顺序判断消息是否过时,将未过时的消息传输至目标存储系统中,避免实时消息同步过程中的出现乱序。
【技术领域】
本发明涉及实时数据同步技术领域,特别涉及一种实时数据同步方法、系统及框架。
【背景技术】
基于大数据技术各种分析的一个首要前提是需要有海量数据。海量数据的类型多种多样,如传感器收集的数据、服务端的日志以及关系数据库操作的binLog数据等等。在对这些数据进行分析或者挖掘前,需要进行ETL(Extract-Transform-Load,数据仓库技术)处理,其过程必然涉及到数据在各个不同存储系统之间进行移动。目前在离线统计分析中,对于海量数据在不同存储系统之间的导入导出已经存在像Sqoop(apache社区)或者dataX(阿里开源)这样比较成熟通用的同步引擎。但是在实时领域,目前只有flume在日志实时同步方面有着比较广的应用。但是由于在实时同步过程中,一个很重要的问题是处理消息乱序问题,即同一条记录连续两次更新,必须保证其顺序性,否则源端和目标端数据的一致性没法保证。目前,基于flume进行实时同步中,处理乱序问题是通过单通道来保证的。在要求消息有序的场景,并且消息量很大的时候,不能通过提高程序的并发度来提高吞吐量。所以其扩展性和并发性在这类场景中有着很大的局限性。
【发明内容】
本发明的目的是提供一种实时数据同步方法、系统及框架,解决现有上述的问题。
为解决上述问题,本发明实施例提供一种实时数据同步方法,包括以下步骤:
连接若干不同种类的源端存储系统;
获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;
读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时,若没有过时,则将消息转换成统一的消息输出格式,同时根据键值存储数据系统和消息内包含的信息配置相应主键和目标存储地址;
根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。
作为一种实施方式,还包括以下步骤:
设置获取消息的最大条数。
本发明还提供一种实时数据同步系统,包括:
输入协议单元,连接若干不同种类的源端存储系统;
输入消息格式转化单元,获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;
消息过时判断单元,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;
输出消息格式转化单元,若没有过时,则将消息转换成统一的消息输出格式,同时根据键值存储数据系统和消息内包含的信息配置相应主键和目标存储地址;
输出协议单元,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。
作为一种实施方式,所述输入协议单元还包括消息条数模块,设置获取消息的最大条数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州有赞科技有限公司,未经杭州有赞科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711377062.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置