基于日志分析的MongoDB数据迁移监控方法及装置制造方法及图纸

技术编号:21913894 阅读:34 留言:0更新日期:2019-08-21 12:24
本发明专利技术涉及电子信息技术领域,具体涉及一种基于日志分析的MongoDB数据迁移监控方法及装置,首先搭建一个MongoDB分片集群;将MongoDB分片集群数据中二次数据迁移的数据量累加和处于预设阈值范围内;获取MongoDB分片集群中历史数据块动态分裂与迁移信息;再以历史数据块发生成功迁移为界,将数据迁移路线分为不同的阶段,并将每个阶段的数据块键值区间按照比例顺序画出。该方法及装置利用了MongoDB配置服务器中的日志数据,观测数据块在不同服务器之间现有分布与过去分布迁移情况,并定义写放大估算公式评估分裂与迁移策略好坏,帮助MongoDB数据库更好地进行预划分和资源分配。与传统的观测方法相比,不受其他因素干扰,使用历史日记数据,结果更加准确。

MongoDB Data Migration Monitoring Method and Device Based on Log Analysis

【技术实现步骤摘要】
基于日志分析的MongoDB数据迁移监控方法及装置
本专利技术涉及电子信息
,具体而言,涉及一种基于日志分析的MongoDB数据迁移监控方法及装置。
技术介绍
随着海量非结构化数据(传感器采集的空间数据、路网数据)源源不断地产生,分布式Nosql数据库,如MongoDB、Hbase等地位日益提高。MongoDB支持数据在集群中分片(shard)存储与副本集(ReplicaSet)存储两种存储方式。副本集存储的主要目的是利用主从模式进行自动故障恢复功能,而分片存储是为了将键值区间无重叠地划分给不同服务器存储,提高读写吐量。另外,当服务器存储的数据块不均匀时,Mongodb会启动数据迁移模块进行数据块迁移,保证各台服务器存储数据量大致相同。但由于数据可能存在严重不可预测的数据倾斜,分片和迁移过程可能带来很多冗余开销。
技术实现思路
本专利技术实施例提供了一种基于日志分析的MongoDB数据迁移监控方法及装置,以至少解决现有MongoDB数据分片和迁移过程中存在冗余开销的技术问题。根据本专利技术的一实施例,提供了一种基于日志分析的MongoDB数据迁移监控方法,包括以下步骤:搭建一个MongoDB分片集群,MongoDB分片集群包含Shard、Mongos和Configserver3种组件;将MongoDB分片集群数据中二次数据迁移的数据量累加和处于预设阈值范围内;获取MongoDB分片集群中历史数据块动态分裂与迁移信息;以历史数据块发生成功迁移为界,将数据迁移路线分为不同的阶段,并将每个阶段的数据块键值区间按照比例顺序画出。进一步地,MongoDB数据迁移监控方法还包括:将每个阶段的数据块键值区间用不同颜色代表不同的服务器填充数据块。进一步地,MongoDB分片集群数据中二次数据迁移的数据量累加和为transfersize,其计算公式为:transfersize=∑clonedBytes;Mongos可获取Configserver上的changelog集合数据,transfersize可通过遍历changelog集合数据获取,changelog集合数据以字典形式保存;clonedBytes代表数据量累加字节。进一步地,MongoDB分片集群数据中二次数据迁移的数据量累加计算中采用两种操作类型:moveChunks.commit:该日志记录从数据块迁出服务器获取,包含有数据块键值信息、迁出服务器、迁入服务器、从属集合名称、拷贝数据量信息;moveChunks.from:该日志记录从数据块迁移接收服务器获取,包含有数据块键值信息、迁出服务器、迁入服务器、从属集合名称、是否成功信息。进一步地,利用Configserver上的chunks集合,描绘当前数据块集群中的分布情况,从MongoDB分片集群的Changelog集合数据中获取历史数据块动态分裂与迁移信息。进一步地,从MongoDB分片集群的Changelog集合数据中获取历史数据块动态分裂与迁移信息过程中采用三种操作类型:moveChunks.from:该日志记录从数据块迁移接收服务器获取,包含有数据块键值信息、迁出服务器、迁入服务器、从属集合名称、是否成功信息;shardCollection.start:该日志记录由mongos执行创建,指定了初始数据块MinKey、MaxKey所在shard服务器;multi-split:该日志记录从执行分裂的shard服务器获取,包含分片前数据块信息、分片后数据块信息、集合名称、数据块所在shard服务器信息。进一步地,初始数据块的键值区间和所在shard服务器信息从shardCollection.start中获取,之后所有数据块都由已存在数据块分裂而来,从multi-split中获取,数据块迁移信息从moveChunks.from中获取。根据本专利技术的另一实施例,提供了一种基于日志分析的MongoDB数据迁移监控装置,包括:集群搭建单元,用于搭建一个MongoDB分片集群,MongoDB分片集群包含Shard、Mongos和Configserver3种组件;阈值单元,用于将MongoDB分片集群数据中二次数据迁移的数据量累加和处于预设阈值范围内;信息获取单元,用于获取MongoDB分片集群中历史数据块动态分裂与迁移信息;键值区间划分单元,用于以历史数据块发生成功迁移为界,将数据迁移路线分为不同的阶段,并将每个阶段的数据块键值区间按照比例顺序画出。一种存储介质,存储介质存储有能够实现上述任意一项基于日志分析的MongoDB数据迁移监控方法的程序文件。一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的基于日志分析的MongoDB数据迁移监控方法。本专利技术实施例中的基于日志分析的MongoDB数据迁移监控方法及装置,利用了MongoDB配置服务器中的日志数据,观测数据块在不同服务器之间现有分布与过去分布迁移情况,并定义写放大估算公式评估分裂与迁移策略好坏,帮助MongoDB数据库更好地进行预划分和资源分配。与传统的观测方法相比,不受其他因素干扰,使用历史日记数据,结果更加准确。结果直观,通过公式指标或可视化评估呈现分片数据库性能,并能直观体现衡量观察数据迁移策略、分裂机制、键值设计是否合理。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术基于日志分析的MongoDB数据迁移监控方法的流程图;图2为本专利技术基于日志分析的MongoDB数据迁移监控方法的优选流程图;图3为本专利技术基于日志分析的MongoDB数据迁移监控方法中数据块分裂与迁移过程示意图;图4为本专利技术基于日志分析的MongoDB数据迁移监控装置的模块图;图5为本专利技术基于日志分析的MongoDB数据迁移监控装置的优选模块图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。现有工具或方法虽然实时性好,能够通过测量网络或者磁盘I/O,绘制出长期跟踪曲线,但是难以体现资源消耗与上层机制(如迁移策略)的关系。测量结果易受到各种干扰,如I/O的观察往往混合了数据库其他I/O影响或者其他应用的I/O干扰,并且难以从一个混合指标中分解出实际需要的资源消耗。这不利于找到性能问题存在、评估本文档来自技高网
...

【技术保护点】
1.一种基于日志分析的MongoDB数据迁移监控方法,其特征在于,包括以下步骤:搭建一个MongoDB分片集群,所述MongoDB分片集群包含Shard、Mongos和Config server3种组件;将所述MongoDB分片集群数据中二次数据迁移的数据量累加和处于预设阈值范围内;获取所述MongoDB分片集群中历史数据块动态分裂与迁移信息;以历史数据块发生成功迁移为界,将数据迁移路线分为不同的阶段,并将每个阶段的数据块键值区间按照比例顺序画出。

【技术特征摘要】
1.一种基于日志分析的MongoDB数据迁移监控方法,其特征在于,包括以下步骤:搭建一个MongoDB分片集群,所述MongoDB分片集群包含Shard、Mongos和Configserver3种组件;将所述MongoDB分片集群数据中二次数据迁移的数据量累加和处于预设阈值范围内;获取所述MongoDB分片集群中历史数据块动态分裂与迁移信息;以历史数据块发生成功迁移为界,将数据迁移路线分为不同的阶段,并将每个阶段的数据块键值区间按照比例顺序画出。2.根据权利要求1所述的MongoDB数据迁移监控方法,其特征在于,所述MongoDB数据迁移监控方法还包括:将每个阶段的数据块键值区间用不同颜色代表不同的服务器填充数据块。3.根据权利要求1所述的MongoDB数据迁移监控方法,其特征在于,所述MongoDB分片集群数据中二次数据迁移的数据量累加和为transfersize,其计算公式为:transfersize=∑clonedBytes;Mongos获取Configserver上的changelog集合数据,transfersize通过遍历changelog集合数据获取,changelog集合数据以字典形式保存;clonedBytes代表数据量累加字节。4.根据权利要求1所述的MongoDB数据迁移监控方法,其特征在于,所述MongoDB分片集群数据中二次数据迁移的数据量累加计算中采用两种操作类型:moveChunks.commit:该日志记录从数据块迁出服务器获取,包含有数据块键值信息、迁出服务器、迁入服务器、从属集合名称、拷贝数据量信息;moveChunks.from:该日志记录从数据块迁移接收服务器获取,包含有数据块键值信息、迁出服务器、迁入服务器、从属集合名称、是否成功信息。5.根据权利要求1所述的MongoDB数据迁移监控方法,其特征在于,利用Configserver上的chunks集合,描绘当前数据块集群中的分布情况,从所述MongoDB分片集群的Changelog集合数据中获取历史数据块动态分...

【专利技术属性】
技术研发人员:石婧文须成忠叶可江王洋
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:广东,44

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

1