CN107506379A - 基于数据库row模式构建流式实时电影生态模型的方法 - Google Patents
基于数据库row模式构建流式实时电影生态模型的方法 Download PDFInfo
- Publication number
- CN107506379A CN107506379A CN201710596283.4A CN201710596283A CN107506379A CN 107506379 A CN107506379 A CN 107506379A CN 201710596283 A CN201710596283 A CN 201710596283A CN 107506379 A CN107506379 A CN 107506379A
- Authority
- CN
- China
- Prior art keywords
- data
- method based
- data object
- row mode
- database row
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
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)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于数据库row模式构建流式实时电影生态模型的方法,包括数据对象的获取、发送、MQ队列和还原等步骤;本发明的优点在于:有效提高了数据的时效性,同时保证了数据的一致性和安全性。
Description
技术领域
本发明涉及一种电影生态模型的构建方法,具体地说是一种基于数据库row模式构建流式实时电影生态模型的方法,属于电影生态模型的构建方法领域。
背景技术
建立电影生态模型和图谱的数据来源于电影业务数据,业务数据持续产生并存储在各类远程数据库中,建模的各个数据输入端无法及时感知到业务数据的产生,当前的解决方案为通过定时从各个远程数据库中进行数据抽取和清洗,传输到模型输入端,按照预定义格式进行解析处理,再进入模型管道。当前方案的主要缺点如下:业务数据量具有明显峰值和低谷,定时抽取无法解决时效问题;另外,数据抽取采用业务接口,会给***峰值期间造成***压力,***响应速度变慢;业务数据库结构变更,导致模型端数据解析失败。
发明内容
为了解决上述问题,本发明设计了一种基于数据库row模式构建流式实时电影生态模型的方法,有效提高了数据的时效性,同时保证了数据的一致性和安全性。
本发明的技术方案为:
基于数据库row模式构建流式实时电影生态模型的方法,包括以下步骤:
(1)利用canal实时动态的收集mysql数据库的变更,并通过解析binlog,获取到需要的数据对象;
(2)对获取的数据对象重新序列化,并通过互联网发送到远端接收服务器;
(3)远端接收服务器收到消息后,根据对应影院写到对应MQ的队列里;
(4)Consumer从MQ里获取队列里的新增数据,反序列化后还原数据到目标数据库。
其中,所述步骤(1)Source DB提供电影数据源;
所述步骤(1)中Canal负责解析相关的数据库日志,获取到同步的数据;
所述步骤(2)通过SERVICE负责接收传输过来的数据,并进行有效性验证并通过producer API发送给MQ;
Redis负责维护整体框架的消费配置信息和生产/消费记录,作为配置库使用。使用redis初始化影院对应信息和binlog位置,并在数据同步过程中记录binlog位置的变化。
所述步骤(3)中MQ负责保证数据顺序,并提供持久化服务;
所述步骤(4)中DB, Web访问等服务通过consumer API进行数据访问;
ZooKeeper用于提供分布式锁服务的提供,管理所有消费者。Zookeeper负责提供生产者/消费者模型,提供生产和消费的队列管理,另外还提供分布式锁服务,提供访问竞态管理的问题。
本发明能够实时获取mysql变更数据,并提取目标数据对象,并对数据顺序进行记录和维护;通过MQ来进行数据的缓冲,以匹配同步过程中的速度不匹配的问题;消费端分别维护各个同步源的位置,保证数据和消费的一致性。
本发明的优点在于:***耦合度较低,各个环节分别维护和管理自己的顺序,并在数据流动过程中分别进行校验,保证了数据一致性;各自维护自己的日志,方便故障排查和定位;通过MQ隔离各个数据源之间的消息,达到不同目标的隔离,增强了***的容错性。
下面结合附图和实施例对本发明作进一步说明。
附图说明
图1为本发明实施例Binlog解析和同步流程图
图2为本发明实施例数据接收和消费流程图。
具体实施方式
以下对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
基于数据库row模式构建流式实时电影生态模型的方法,包括以下步骤:
(1)利用canal实时动态的收集mysql数据库的变更,并通过解析binlog,获取到需要的数据对象;
(2)对获取的数据对象重新序列化,并通过互联网发送到远端接收服务器;
(3)远端接收服务器收到消息后,根据对应影院写到对应MQ的队列里;
(4)Consumer从MQ里获取队列里的新增数据,反序列化后还原数据到目标数据库。
其中,所述步骤(1)Source DB提供电影数据源;
所述步骤(1)中Canal负责解析相关的数据库日志,获取到同步的数据;
所述步骤(2)通过SERVICE负责接收传输过来的数据,并进行有效性验证并通过producer API发送给MQ;
Redis负责维护整体框架的消费配置信息和生产/消费记录,作为配置库使用。使用redis初始化影院对应信息和binlog位置,并在数据同步过程中记录binlog位置的变化。
所述步骤(3)中MQ负责保证数据顺序,并提供持久化服务;
所述步骤(4)中DB, Web访问等服务通过consumer API进行数据访问;
ZooKeeper用于提供分布式锁服务的提供,管理所有消费者。Zookeeper负责提供生产者/消费者模型,提供生产和消费的队列管理,另外还提供分布式锁服务,提供访问竞态管理的问题。
如图1所示,Binlog解析和同步流程图:
氛围binlog解析和心跳信息同步两个部分。
解析过程是通过canal解析binlog,获取关键数据,根据业务需求再进行一次过滤,然后重新封装需要的信息。然后再通过https发送到server端。为了保证数据的一致性,https server端在每次传输的时候进行一次数据的位置的校验,如果成功则接收并存储,如果不一致则返回相应的错误代码。
心跳主要用于binlog和同步位置相关信息的传递,以便于https server端进行位置校验。 同时可以利用心跳重置binlog位置的功能。
如图2所示,数据接收和消费流程图:
解决同步数据接收存储和存储数据消费两个部分。
数据接收和存储服务,接收同步客户端传输过来的数据,进行一致性校验,如果无误则存入消息队列MQ,同时自己维护接收位置的记录和管理。
数据消费服务,根据影院ID进行数据消费和还原。从MQ中顺序取出数据,解析并还原到目标数据库中,同时也记录和维护自己消费影院锁对应的位置,并对本地文件和Redis相对信息进行更新。
Claims (1)
1.基于数据库row模式构建流式实时电影生态模型的方法,其特征在于:包括以下步骤:
(1)数据对象的获取:利用canal实时动态的收集mysql数据库的变更,并通过解析binlog,获取到需要的数据对象;
(2)数据对象的发送:对获取的数据对象重新序列化,并通过互联网发送到远端接收服务器;
(3)MQ队列:远端接收服务器收到消息后,根据对应影院写到对应MQ的队列里;
(4)还原:Consumer从MQ里获取队列里的新增数据,反序列化后还原数据到目标数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710596283.4A CN107506379A (zh) | 2017-07-20 | 2017-07-20 | 基于数据库row模式构建流式实时电影生态模型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710596283.4A CN107506379A (zh) | 2017-07-20 | 2017-07-20 | 基于数据库row模式构建流式实时电影生态模型的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107506379A true CN107506379A (zh) | 2017-12-22 |
Family
ID=60679947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710596283.4A Pending CN107506379A (zh) | 2017-07-20 | 2017-07-20 | 基于数据库row模式构建流式实时电影生态模型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107506379A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769172A (zh) * | 2018-05-21 | 2018-11-06 | 杭州有赞科技有限公司 | 一种数据同步方法及*** |
CN110209521A (zh) * | 2019-02-22 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据校验方法、装置、计算机可读存储介质和计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1526237A (zh) * | 2000-08-24 | 2004-09-01 | ���ɶ��ɷ�����˾ | 传输和处理被保护的内容 |
US20060235733A1 (en) * | 2005-04-13 | 2006-10-19 | Marks Eric A | System and method for providing integration of service-oriented architecture and Web services |
CN105354328A (zh) * | 2015-11-25 | 2016-02-24 | 南京莱斯信息技术股份有限公司 | 一种解决NoSQL数据库并发访问冲突的***及方法 |
CN105608223A (zh) * | 2016-01-12 | 2016-05-25 | 北京中交兴路车联网科技有限公司 | 针对kafka的Hbase数据库的入库方法和*** |
CN106250543A (zh) * | 2016-08-10 | 2016-12-21 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储方法 |
-
2017
- 2017-07-20 CN CN201710596283.4A patent/CN107506379A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1526237A (zh) * | 2000-08-24 | 2004-09-01 | ���ɶ��ɷ�����˾ | 传输和处理被保护的内容 |
US20060235733A1 (en) * | 2005-04-13 | 2006-10-19 | Marks Eric A | System and method for providing integration of service-oriented architecture and Web services |
CN105354328A (zh) * | 2015-11-25 | 2016-02-24 | 南京莱斯信息技术股份有限公司 | 一种解决NoSQL数据库并发访问冲突的***及方法 |
CN105608223A (zh) * | 2016-01-12 | 2016-05-25 | 北京中交兴路车联网科技有限公司 | 针对kafka的Hbase数据库的入库方法和*** |
CN106250543A (zh) * | 2016-08-10 | 2016-12-21 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储方法 |
Non-Patent Citations (2)
Title |
---|
小旋风柴进: "消息队列MQ新增3把武器", 《HTTPS://YQ.ALIYUN.COM/ARTICLES/73175?T=T1》 * |
点融黑帮: "分布式集群项目中同步DB数据的解决方案之Canal", 《HTTPS://WWW.JIANSHU.COM/P/399C95095552》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769172A (zh) * | 2018-05-21 | 2018-11-06 | 杭州有赞科技有限公司 | 一种数据同步方法及*** |
CN110209521A (zh) * | 2019-02-22 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据校验方法、装置、计算机可读存储介质和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878473A (zh) | 一种消息处理方法、服务器集群及*** | |
CN106302806A (zh) | 一种数据同步方法、***、同步获取方法及相关装置 | |
CN103428264B (zh) | 数据同步的方法、设备及*** | |
CN103441861B (zh) | 一种数据记录生成方法及装置 | |
CN102098342A (zh) | 一种基于事务级的数据同步方法、装置及*** | |
CN107181805B (zh) | 一种在微服务架构下实现全局有序重演的方法 | |
CN107870982B (zh) | 数据处理方法、***和计算机可读存储介质 | |
US20140101110A1 (en) | High availability event log collection in a networked system | |
CN108228755A (zh) | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 | |
CN112597249A (zh) | 一种业务数据的同步分发存储方法及*** | |
CN105095358A (zh) | 一种数据库操作日志获取方法及*** | |
CN110287251A (zh) | MongoDB到HBase的分布式高容错数据实时同步方法 | |
CN108228756A (zh) | 基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法 | |
CN105447146A (zh) | 一种海量数据的收集与交换***及方法 | |
CN107506379A (zh) | 基于数据库row模式构建流式实时电影生态模型的方法 | |
CN102739446B (zh) | 选择网络时间协议服务器的方法和装置 | |
CN112380225A (zh) | 时序数据同步方法、装置、设备及存储介质 | |
CN109150977A (zh) | 基于交易链路自动生成全局流水号的方法 | |
CN106649181B (zh) | 一种用于钻完井现场同时集成wits数据和witsml数据的方法 | |
CN110460660A (zh) | 一种联系人信息的同步方法和装置 | |
CN108512943A (zh) | 基于消息队列的嵌入式设备数据保存***及保存方法 | |
CN111770145A (zh) | 一种基于日志解析的单向网络双边数据同步***及方法 | |
CN106383901A (zh) | 一种多数据源之间单向数据同步方法 | |
CN104869056A (zh) | 一种基于关系-数据分离的机构-人员数据同步方法 | |
CN107317865B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171222 |