实时数据同步方法、系统及框架技术方案

技术编号:18208602 阅读:576 留言:0更新日期:2018-06-13 08:15
本发明专利技术提供了一种实时数据同步方法、系统及框架,其中,方法包括以下步骤:连接若干不同种类的源端存储系统;获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。本发明专利技术通过赋予消息顺序并依据消息顺序判断消息是否过时,将未过时的消息传输至目标存储系统中,避免实时消息同步过程中的出现乱序。

【技术实现步骤摘要】
实时数据同步方法、系统及框架
本专利技术涉及实时数据同步
,特别涉及一种实时数据同步方法、系统及框架。
技术介绍
基于大数据技术各种分析的一个首要前提是需要有海量数据。海量数据的类型多种多样,如传感器收集的数据、服务端的日志以及关系数据库操作的binLog数据等等。在对这些数据进行分析或者挖掘前,需要进行ETL(Extract-Transform-Load,数据仓库技术)处理,其过程必然涉及到数据在各个不同存储系统之间进行移动。目前在离线统计分析中,对于海量数据在不同存储系统之间的导入导出已经存在像Sqoop(apache社区)或者dataX(阿里开源)这样比较成熟通用的同步引擎。但是在实时领域,目前只有flume在日志实时同步方面有着比较广的应用。但是由于在实时同步过程中,一个很重要的问题是处理消息乱序问题,即同一条记录连续两次更新,必须保证其顺序性,否则源端和目标端数据的一致性没法保证。目前,基于flume进行实时同步中,处理乱序问题是通过单通道来保证的。在要求消息有序的场景,并且消息量很大的时候,不能通过提高程序的并发度来提高吞吐量。所以其扩展性和并发性在这类场景中有着很大的局限性。
技术实现思路
本专利技术的目的是提供一种实时数据同步方法、系统及框架,解决现有上述的问题。为解决上述问题,本专利技术实施例提供一种实时数据同步方法,包括以下步骤:连接若干不同种类的源端存储系统;获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时,若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。作为一种实施方式,还包括以下步骤:设置获取消息的最大条数。本专利技术还提供一种实时数据同步系统,包括:输入协议单元,连接若干不同种类的源端存储系统;输入消息格式转化单元,获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;消息过时判断单元,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;输出消息格式转化单元,若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;输出协议单元,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。作为一种实施方式,所述输入协议单元还包括消息条数模块,设置获取消息的最大条数。本专利技术还提供一种实时数据同步框架,包括源端存储系统、核心处理引擎、键值存储数据系统以及目标存储系统,其中,核心处理引擎包括:输入协议单元,连接若干不同种类的源端存储系统;输入消息格式转化单元,获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;消息过时判断单元,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;输出消息格式转化单元,若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;输出协议单元,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。作为一种实施方式,所述输入协议单元还包括消息条数模块,设置获取消息的最大条数。作为一种实施方式,所述源端存储系统包括分布式实时消息系统、分布式发布订阅消息系统以及关系型数据库管理系统中的一个或多个。作为一种实施方式,所述键值存储数据系统包括HBase系统和/或Redis系统。本专利技术相比于现有技术的有益效果在于:通过赋予消息顺序并依据消息顺序判断消息是否过时,将未过时的消息传输至目标存储系统中,避免实时消息同步过程中的出现乱序。通过采用输入协议和输出协议的设计,能够对不同的输入源(即源端存储系统)以及目标存储系统接入;核心处理引擎结合状态存储,判断消息的有序性,能够提供可扩展,高吞吐的数据同步。附图说明图1为本专利技术实时数据同步方法的流程图;图2为本专利技术实时数据同步系统的模块连接图;图3为本专利技术实时数据同步框架的架构连接图。附图标注:1、输入协议单元;11、消息条数模块;2、输入消息格式转化单元;3、消息过时判断单元;4、输出消息格式转化单元;5、输出协议单元;6、源端存储系统;7、核心处理引擎;8、键值存储数据系统;9、目标存储系统。具体实施方式以下结合附图,对本专利技术上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的部分实施例,而不是全部实施例。如图1所示,一种实时数据同步方法,包括以下步骤:S100:连接若干不同种类的源端存储系统;S200:获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;S300:读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;S400:若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;S500:根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。步骤S100中还包括:设置获取消息的最大条数。如图2所示,一种实时数据同步系统,包括:输入协议单元1,连接若干不同种类的源端存储系统6;输入消息格式转化单元2,获取源端存储系统6的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;消息过时判断单元3,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;输出消息格式转化单元4,若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统8配置相应主键和目标存储地址;输出协议单元5,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统9的相应表中。在本实施例中,输入协议单元1还包括消息条数模块11,设置获取消息的最大条数。如图3所示,一种实时数据同步框架,包括源端存储系统6、核心处理引擎7、键值存储数据系统8以及目标存储系统9,其中,核心处理引擎7包括:输入协议单元1,连接若干不同种类的源端存储系统6;输入消息格式转化单元2,获取源端存储系统6的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;消息过时判断单元3,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;输出消息格式转化单元4,若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统8配置相应主键和目标存储地址;输出协议单元5,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统9的相应表中。在本实施例中,源端存储系统6包括分布式实时消息系统(NSQ)、分布式发布订阅消息系统(kafka)、关系型数据库管理系统(MySQL)以及Redis系统等。键值存储数据系统8包括HBase系统或Redis系统。目标存储系统9包括HBase系统、分布式发布订阅本文档来自技高网...
实时数据同步方法、系统及框架

【技术保护点】
一种实时数据同步方法,其特征在于,包括以下步骤:连接若干不同种类的源端存储系统;获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。

【技术特征摘要】
1.一种实时数据同步方法,其特征在于,包括以下步骤:连接若干不同种类的源端存储系统;获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。2.根据权利要求1所述的实时数据同步方法,其特征在于,还包括以下步骤:设置获取消息的最大条数。3.一种实时数据同步系统,其特征在于,包括:输入协议单元,连接若干不同种类的源端存储系统;输入消息格式转化单元,获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;消息过时判断单元,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;输出消息格式转化单元,若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;输出协议单元,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。4.根据权利要求3...

【专利技术属性】
技术研发人员:张俊邹晨俊赵原
申请(专利权)人:杭州有赞科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1