CN108156230B - 实时数据同步方法、系统及框架 - Google Patents
实时数据同步方法、系统及框架 Download PDFInfo
- Publication number
- CN108156230B CN108156230B CN201711377062.4A CN201711377062A CN108156230B CN 108156230 B CN108156230 B CN 108156230B CN 201711377062 A CN201711377062 A CN 201711377062A CN 108156230 B CN108156230 B CN 108156230B
- Authority
- CN
- China
- Prior art keywords
- message
- format
- real
- target storage
- time data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000003860 storage Methods 0.000 claims abstract description 96
- 238000006243 chemical reaction Methods 0.000 claims abstract description 28
- 238000009826 distribution Methods 0.000 claims abstract description 10
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本发明提供了一种实时数据同步方法、系统及框架,其中,方法包括以下步骤:连接若干不同种类的源端存储系统;获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;若没有过时,则将消息转换成统一的消息输出格式,同时根据消息内包含的信息和键值存储数据系统配置相应主键和目标存储地址;根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。本发明通过赋予消息顺序并依据消息顺序判断消息是否过时,将未过时的消息传输至目标存储系统中,避免实时消息同步过程中的出现乱序。
Description
【技术领域】
本发明涉及实时数据同步技术领域,特别涉及一种实时数据同步方法、系统及框架。
【背景技术】
基于大数据技术各种分析的一个首要前提是需要有海量数据。海量数据的类型多种多样,如传感器收集的数据、服务端的日志以及关系数据库操作的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系统、分布式发布订阅消息系统(kafka)等。
通过设置输入协议实现不同输入源(源端存储系统6)无缝接入实时数据同步系统。此外为了抽象各种不同形式的消息,定义了输入消息格式。
输入协议如下:
输入协议中,init字段的作用是通过初始化函数,接收以Map参数的数据,通过定义统一的输入消息连接若干不同种类的源端存储系统6;;getMessage字段的作用是读取输入源的消息并且转化为系统统一定义的InMessage消息(即转换为统一的输入消息格式);Ack字段的作用是一旦读取到消息被成功处理,将通过该接口向输入源报告;fail字段的作用是一旦消息处理失败,将进行重新获取消息并且进行消息重发。
输入消息格式如下
输入消息格式中,messageId字段的作用是唯一确定一条消息(即定义消息ID);groupValue字段的作用是在进行消息分发时,确保同一条消息的所有操作进入统一线程,从而避免多线程并发问题;RecordOrder字段的作用是用来确定消息的先后;content字段的作用是用来存储消息的实际内容,并以map格式进行保存。
核心处理引擎7根据InMessage的消息结合键值储存数据系统(hbase orredis)来确保同一条消息先后的连续更改能够在同步过程中的一致性,并且再此过程中,将InMessage转化为OutMessage消息,并且通过输出协议中writeMsgOut将消息发送给目标存储系统9的相应表中。
输出协议如下:
输出协议中的init字段类似于输入协议中的init字段,主要用来初始化目标存储系统9。而writeMsgOut字段的作用主要定义消息发送的接口。
输出信息格式如下:
其中,msgKey字段的作用主要为键值存储数据系统8服务,主要定义了存储到目标存储系统9以后的主键是怎么组成的;content字段的作用是存储消息具体的内容;TableName字段是用于将消息写入到目标存储系统9中对应表的地址;eventTypeSensitive字段的作用是主要用来决定对目标存储系统9地址的Insert,update和delete操作是否都需要关注。
本发明通过采用输入协议和输出协议的设计,能够对不同的输入源(即源端存储系统6)以及目标存储系统9接入;核心处理引擎7结合状态存储,判断消息的有序性,能够提供可扩展,高吞吐的数据同步。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种实时数据同步方法,其特征在于,包括以下步骤:
连接若干不同种类的源端存储系统;
获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;
读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;
若没有过时,则将消息转换成统一的消息输出格式,同时根据键值存储数据系统和消息内包含的信息配置相应主键和目标存储地址;
根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。
2.根据权利要求1所述的实时数据同步方法,其特征在于,还包括以下步骤:
设置获取消息的最大条数。
3.一种实时数据同步系统,其特征在于,包括:
输入协议单元,连接若干不同种类的源端存储系统;
输入消息格式转化单元,获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;
消息过时判断单元,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;
输出消息格式转化单元,若没有过时,则将消息转换成统一的消息输出格式,同时根据键值存储数据系统和消息内包含的信息配置相应主键和目标存储地址;
输出协议单元,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。
4.根据权利要求3所述的实时数据同步系统,其特征在于,所述输入协议单元还包括消息条数模块,设置获取消息的最大条数。
5.一种实时数据同步框架,其特征在于,包括源端存储系统、核心处理引擎、键值存储数据系统以及目标存储系统,其中,核心处理引擎包括:
输入协议单元,连接若干不同种类的源端存储系统;
输入消息格式转化单元,获取源端存储系统的消息,赋予消息名称、分发字段以及消息顺序将原有消息格式进行转换,以系统设定格式进行保存;
消息过时判断单元,读取并解析消息格式转换后的消息,根据消息内的消息顺序判断是否过时;
输出消息格式转化单元,若没有过时,则将消息转换成统一的消息输出格式,同时根据键值存储数据系统和消息内包含的信息配置相应主键和目标存储地址;
输出协议单元,根据目标存储地址分配相应消息发送接口,将消息内容同步写入目标存储系统的相应表中。
6.根据权利要求5所述的实时数据同步框架,其特征在于,所述输入协议单元还包括消息条数模块,设置获取消息的最大条数。
7.根据权利要求5所述的实时数据同步框架,其特征在于,所述源端存储系统包括分布式实时消息系统、分布式发布订阅消息系统以及关系型数据库管理系统中的一个或多个。
8.根据权利要求5所述的实时数据同步框架,其特征在于,所述键值存储数据系统包括HBase系统和/或Redis系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711377062.4A CN108156230B (zh) | 2017-12-19 | 2017-12-19 | 实时数据同步方法、系统及框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711377062.4A CN108156230B (zh) | 2017-12-19 | 2017-12-19 | 实时数据同步方法、系统及框架 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108156230A CN108156230A (zh) | 2018-06-12 |
CN108156230B true CN108156230B (zh) | 2020-09-04 |
Family
ID=62463942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711377062.4A Active CN108156230B (zh) | 2017-12-19 | 2017-12-19 | 实时数据同步方法、系统及框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108156230B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327696B (zh) * | 2020-02-17 | 2022-04-26 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及系统 |
CN111930385A (zh) * | 2020-07-28 | 2020-11-13 | 苏州亿歌网络科技有限公司 | 数据采集方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118106A (zh) * | 2013-01-30 | 2013-05-22 | 福建三元达通讯股份有限公司 | 多台广告机同步播放的方法、装置以及系统 |
CN103139102A (zh) * | 2013-02-02 | 2013-06-05 | 中国人民解放军理工大学 | 多源多路径动态同步单宿信息匹配方法及其装置 |
CN103647669A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种保证分布式数据处理一致性的系统及方法 |
CN104750870A (zh) * | 2015-04-20 | 2015-07-01 | 河海大学 | 一种基于HBase的日志存储系统及实现方法 |
CN107169069A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9301266B2 (en) * | 2011-08-19 | 2016-03-29 | Qualcomm Incorporated | Beacons for wireless communication |
-
2017
- 2017-12-19 CN CN201711377062.4A patent/CN108156230B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118106A (zh) * | 2013-01-30 | 2013-05-22 | 福建三元达通讯股份有限公司 | 多台广告机同步播放的方法、装置以及系统 |
CN103139102A (zh) * | 2013-02-02 | 2013-06-05 | 中国人民解放军理工大学 | 多源多路径动态同步单宿信息匹配方法及其装置 |
CN103647669A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种保证分布式数据处理一致性的系统及方法 |
CN104750870A (zh) * | 2015-04-20 | 2015-07-01 | 河海大学 | 一种基于HBase的日志存储系统及实现方法 |
CN107169069A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
Also Published As
Publication number | Publication date |
---|---|
CN108156230A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111566635B (zh) | 用于异构多媒体数据的存储架构 | |
CN107038162B (zh) | 基于数据库日志的实时数据查询方法和系统 | |
CN110032459B (zh) | 消息队列配置方法、装置、计算机设备及存储介质 | |
CN102637214B (zh) | 基于数据库服务间的通用数据同步方法及其系统 | |
CN111125260A (zh) | 一种基于SQL Server的数据同步方法及系统 | |
CN111046100B (zh) | 一种关系型数据库到非关系型数据库的同步方法和系统 | |
CN111209344A (zh) | 数据同步方法及装置 | |
CN107038218B (zh) | 报表处理方法和系统 | |
WO2014173151A1 (en) | Method, device and terminal for data processing | |
CN108156230B (zh) | 实时数据同步方法、系统及框架 | |
CN112286941A (zh) | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 | |
US10225357B2 (en) | Compact data structures for push notifications | |
CN113886485A (zh) | 数据处理方法、装置、电子设备、系统和存储介质 | |
CN110569308A (zh) | 一种数据文件组装方法、装置、设备及储存介质 | |
CN113190517A (zh) | 数据集成方法、装置、电子设备和计算机可读介质 | |
EP3769319B1 (en) | Methods, apparatus, and systems for integration of diagnostic laboratory devices | |
CN112699183A (zh) | 数据处理方法、系统、可读存储介质及计算机设备 | |
CN112506490A (zh) | 一种接口生成方法、装置、电子设备及存储介质 | |
CN115809244A (zh) | 一种海量空间数据接入、处理、发布的方法 | |
CN111475471B (zh) | 一种用于工业设计资源共享的信息系统 | |
CN112035413A (zh) | 元数据信息查询方法、装置及存储介质 | |
CN113760920A (zh) | 一种数据同步方法、装置、电子设备和存储介质 | |
CN110866005A (zh) | 一种物联网数据采集管理方法及系统、存储介质及终端 | |
Kowalik et al. | Architecture of on-line data acquisition system for car on-board diagnostics | |
CN115051979B (zh) | 监控数据调试系统、方法、车辆和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Real time data synchronization methods, systems, and frameworks Effective date of registration: 20231229 Granted publication date: 20200904 Pledgee: Hangzhou United Rural Commercial Bank Co.,Ltd. Dongyue sub branch Pledgor: HANGZHOU YOUZAN TECHNOLOGY CO.,LTD. Registration number: Y2023980074694 |