[发明专利]实时数据同步方法以及装置、服务器在审
申请号: | 201910956548.6 | 申请日: | 2019-09-29 |
公开(公告)号: | CN110704400A | 公开(公告)日: | 2020-01-17 |
发明(设计)人: | 梁涌;吴峰;郭伟 | 申请(专利权)人: | 上海易点时空网络有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/27 |
代理公司: | 11541 北京卓唐知识产权代理有限公司 | 代理人: | 唐海力 |
地址: | 200125 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 预设 时间周期 实时数据 数据库 申请 迁移 分布式文件系统 日志收集系统 数据文件内容 数据文件转移 查询效率 节省资源 数据结构 文件数据 消息队列 正常业务 影响线 创建 队列 服务器 带宽 写入 进程 | ||
本申请公开了一种实时数据同步方法以及装置、服务器。该方法包括在HIVE数据库中创建预设数据表;启动至少一个进程,从消息队列中批量读取数据;创建时间周期目录,根据所述预设数据表数据结构对所述批量读取数据内容按照分布式文件系统格式写入到文件数据中;定时将上一个时间周期的数据文件转移到新的指定的迁移目录下;通过日志收集系统将所述迁移目录下的数据文件内容同步到HIVE数据库对应的所述预设数据表目录下。本申请解决了实时数据同步方法效果不佳的技术问题。通过本申请将业务方实时传到MQ队列的数据,直接同步到Hive,节省资源和带宽,又不影响线上正常业务的查询效率。
技术领域
本申请涉及大数据领域,具体而言,涉及一种实时数据同步方法以及装置、服务器。
背景技术
现有同步实时数据的方式一般通过MQ队列,一端是生产者,一端是消费者。业务数据实时推送到MQ队列中,作为临时存储,而消费方从队列中取数据,保持到一般mysql、MongoDB之类的数据库中,用于后续的统计查询和分析。
发明人发现,随着业务发展,产生的业务数据量越来越大,将MQ队列数据同步到MySQL中存储时,当存储的数据量越来越大后,查询性能会急剧下降。从线上服务器将MySQL中数据同步到Hive,会影响到正常业务的查询效率。
针对相关技术中实时数据同步方法效果不佳的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种实时数据同步方法以及装置、服务器,以解决实时数据同步方法效果不佳的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种实时数据同步方法。具体地,是将MQ队列中的实时数据同步到Hive的方法。
根据本申请的实时数据同步方法包括:在HIVE数据库中创建预设数据表;启动至少一个进程,从消息队列中批量读取数据;创建时间周期目录,根据所述预设数据表数据结构对所述批量读取数据内容按照分布式文件系统格式写入到文件数据中;定时将上一个时间周期的数据文件转移到新的指定的迁移目录下;通过日志收集系统将所述迁移目录下的数据文件内容同步到HIVE数据库对应的所述预设数据表目录下。
进一步地,方法还包括:
通过设置进程数量并记录当前已开启进程数;
当每新开一个进程时判断是否超出最大进程数;
如果判断没有超出最大进程数,则可开启新进程。
进一步地,创建时间周期目录包括:
按照数据同步周期,创建当天、当前小时的文件夹;
根据所述预设数据表数据结构对所述批量读取数据内容按照分布式文件系统格式写入到文件数据中包括:
根据所述预设数据表数据结构对所述批量读取数据内容按照分布式文件系统格式将数据文件写入到相应文件夹下的文件中。
进一步地,启动至少一个进程,从消息队列中批量读取数据包括:
使用多进程读取方式,从消息队列中对每个任务进程读取部分数据,并进行并发处理。
进一步地,创建时间周期目录,根据所述预设数据表数据结构对所述批量读取数据内容按照分布式文件系统格式写入到文件数据中还包括:
按照当前时间周期目录对读取到的数据进行过滤或者编排处理之后,对数据文件进行压缩之后,再以分布式文件系统格式写入到数据文件中。
为了实现上述目的,根据本申请的另一方面,提供了一种实时数据同步装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海易点时空网络有限公司,未经上海易点时空网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910956548.6/2.html,转载请声明来源钻瓜专利网。