采用交叉备份的分布式数据库日志收集与负载调节系统及其方法技术方案

技术编号:13218393 阅读:78 留言:0更新日期:2016-05-12 23:39
本发明专利技术涉及一种采用交叉备份的分布式数据库日志收集与负载调节系统及其方法,该系统利用日志收集节点收集各台机器中与负载相关的信息,然后利用负载调节节点对各台机器的负载情况进行评估得到负载分值,请求分发节点根据各台机器的负载分值优先将请求发送给其对应的最低负载压力的机器去执行,本发明专利技术利用机器负载信息来辅助分发请求到低负载机器,尽可能地保护高负载机器,避免高负载机器持续收到请求所导致的机器损坏,能够很好的避免短板问题的发生。

Distributed database log collection and load regulation system and method using cross backup

The invention relates to a distributed database log using cross backup collection and load regulation system and method, the system uses the log collection node and load information related to the collection of the machine, and then use the load regulation node assessed load value of the load of each machine, the machine according to the load request distribution node scores table the machine is preferred to send the request to the minimum load pressure corresponding to the implementation, the invention uses machine load information to help distribute requests to low load machine, as far as possible to protect the high load machine, avoid the machine caused by the continued receipt of the request of machine high load, can be very good to avoid the short board problem.

【技术实现步骤摘要】

本专利技术涉及分布式数据库存储
,尤其涉及采用交叉备份的分布式数据库日志收集与负载调节系统及其方法
技术介绍
在当今的云计算和大数据时代,在社会的各个领域以及各个行业,都存在着对海量数据存储与计算的需求。传统的单机存储系统和单机数据库系统面对着海量数据的压力与冲击,根本无法完成存储与计算的任务。而分布式技术、高速网络传输技术以及并行计算技术的发展与成熟,使分布式数据库成为了当前数据存储界的主流发展趋势。分布式数据库大多数是采用多存储节点的并行工作模式,即将海量业务数据利用某些数据分布算法散布到数据库的各台机器中,以期望每台工作机器能够均摊整体数据量,这样使每一台机器的数据量适中,减少每一台机器的存储与计算压力。当前业界知名的互联网巨头,例如Goolge的分布式存储系统就是将数据分成固定大小的块,将这些数据块以一定的分布算法散布到每个存储节点中。而当前业界知名的分布式数据库厂商的产品也是如此,例如Vertica与GreenPlum等均是采用将海量数据散布到各个工作机器中,以数据库集群来解决海量数据存储与计算的问题。GreenPlum采用的是多存储节点之间交叉备份的方式来存放备份数据。分布式数据库自然需要对数据分片进行多个备份以保持高可用性、高性能与高度扩展灵活性。当代的业务需求,会对分布式数据库进行高并发、大压力的访问,如果没有多个备份分片,当主分片机器损坏后,系统就无法对外提供服务,这是不可以接受的。而采用多数据分片的架构带来的一个问题就是数据冗余问题,此外,还有负载均衡问题。如果数据库集群中某些机器的负载明显高于其他机器,那么这些机器很可能会在短时间内损坏,造成短板效应。有一些简单的保证负载均衡的方式,例如可以将请求以RoundRobin的方式或者是随机选取的方式下发到该请求的可用机器之一。但是这些方法存在很大缺陷,即没有充分考虑到系统中各台机器的负载情况,是一种盲目的调节方式,因此效果并不是很好。分布式数据库的日志管理问题也需要考虑,如何高效的收集并管理好日志信息是一个要考虑的重要问题。如果能够从日志信息中得到系统的负载情况,并利用这些负载数据指导数据分发模块分发请求,则是一个更加高效合理的解决方案,并且不会对系统造成任何额外负担。
技术实现思路
为解决上述问题,实现利用日志信息指导系统的负载调节,本专利技术提供一种采用交叉备份的分布式数据库日志收集与负载调节系统,可确保系统尽可能的负载均衡,保护高负载的机器,以免造成机器损坏。为实现上述目的,本专利技术采用的技术方案为:一种采用交叉备份的分布式数据库日志收集与负载调节系统,包括:日志收集节点,用于定期从数据库各台机器中获取日志信息,并将日志信息中有关系统负载的统计信息发送给负载调节节点;负载调节节点,用于将数据库各台机器的负载信息与预先配置好的负载压力级别比较,对各台机器的负载情况进行评估,将评估得到的负载分值发送到请求分发节点;请求分发节点,用于根据各台机器的负载分值,将用户下发的请求优先发送给低负载压力的机器进行处理,若某请求对应的数据分片所在的机器全部处于高压力的状态,则请求分发节点将请求缓存起来,暂停该请求的分发,直到有可用机器的负载情况更新为非高压力的状态时,再将缓存的请求分发给该机器。本专利技术将日志收集机制从各个工作机器中剥离,利用额外的日志收集节点和统一的日志回收机制收集各个工作机器的各类日志信息,对日志信息进行分类,并将不同种类的日志信息发送给不同的处理节点,而对于与系统负载有关的日志信息,则发送给负载调节节点进行信息的统计与量化,负载调节节点将量化的负载信息发送给请求分发节点进行负载均衡控制,以粗粒度的方式去保证每个分片(每台机器)的负载均衡。本专利技术的日志收集节点以不同的时间间隔到各个工作机器中获取不同的日志信息。对于实时变化或者变化较为频繁的日志信息以较短的时间间隔进行获取,例如机器的实时负载信息等;而对于非频繁变化的日志信息将以较长的时间间隔进行获取,例如机器进程崩溃信息等。对于与机器负载相关的统计信息,要及时地将其发送给负载调节节点。负载调节节点需要利用管理员设置的参数评估出每台机器的负载情况,负载调节节点的评估过程为:负载调节节点从日志收集节点获取到各台机器负载情况的日志信息,将这些信息更新到自己维护的各台机器资源使用信息中,并根据数据库管理员预先设置的CPU、内存、IO的资源阈值对每台机器的负载情况进行打分,即对每台机器赋予一个从1到5的分值,分值越高机器负载越高。负载调节节点定期将这些机器的负载分值发送给请求分发节点,请求分发节点会利用机器的分值信息进行粗粒度的负载调节。具体为:请求分发节点收到用户请求后,获取该请求所对应的数据分片所在的机器组,然后查找该组机器的负载分值,从中找到一台负载分值最低的机器,将请求发送给这台机器去执行。请求分发节点设有一缓存池,若某个请求所对应的可用机器的负载分值均为5,即全部处于高压力状态,请求分发节点会将该请求缓存到这个缓存池中;当请求分发节点收到新的机器负载分值后,若发现某台机器的负载分值由5变为非5,即负载降低,会从缓存池中找到所有可用数据分片在该机器的请求,并将这些请求发送给该机器去处理。若请求分发节点的缓存池所缓存的请求数大于数据库管理员设置的阈值,则也会向管理员发送警报信息。上述方式可以最大限度地保护系统中的高负载机器,保证数据库各机器负载均衡。日志收集节点、负载调节节点和请求分发节点各包括工作节点和至少一个备份节点,工作节点定期将其维护的信息发送给相对应的备份节点,工作节点与其相应的备份节点之间有心跳检测,若备份的节点发现工作的节点无响应,则备份的节点马上接管该无响应的节点的任务,并向数据库管理员发送相关警报信息。各个节点有主有备,可在主节点出现问题时,备份节点能迅速接管主节点的任务,保证系统不受影响。日志收集节点收集日志、日志收集节点发送负载相关的日志信息到负载调节节点、负载调节节点发送评估后的负载分值到请求分发节点以及当前工作的日志收集节点、负载调节节点和请求分发节点发送相关信息到其对应的备份节点中的时间间隔都是由管理员配置的,这些时间间隔在系统运行的过程中可实时调节,以适应不同的业务需求。上述系统所采用的日志收集与负载调节方法,主要有以下几点:(1)日志收集节点按一定时间间隔启用多个线程从每台工作机器中获取与系统负载相关的日志信息,以机器为单位存本文档来自技高网
...

【技术保护点】
一种采用交叉备份的分布式数据库日志收集与负载调节系统,其特征在于包括:日志收集节点,用于定期从数据库各台机器中获取日志信息,并将日志信息中有关系统负载的统计信息发送给负载调节节点;负载调节节点,用于将数据库各台机器的负载信息与预先配置好的负载压力级别比较,对各台机器的负载情况进行评估,将评估得到的负载分值发送到请求分发节点;请求分发节点,用于根据各台机器的负载分值,将用户下发的请求优先发送给低负载压力的机器进行处理,若某请求对应的数据分片所在的机器全部处于高压力的状态,则请求分发节点将请求缓存起来,暂停该请求的分发,直到有可用机器的负载情况更新为非高压力的状态时,再将缓存的请求分发给该机器。

【技术特征摘要】
1.一种采用交叉备份的分布式数据库日志收集与负载调节系统,其特征
在于包括:日志收集节点,用于定期从数据库各台机器中获取日志信息,并
将日志信息中有关系统负载的统计信息发送给负载调节节点;
负载调节节点,用于将数据库各台机器的负载信息与预先配置好的负载压力
级别比较,对各台机器的负载情况进行评估,将评估得到的负载分值发送到
请求分发节点;
请求分发节点,用于根据各台机器的负载分值,将用户下发的请求优先
发送给低负载压力的机器进行处理,若某请求对应的数据分片所在的机器全
部处于高压力的状态,则请求分发节点将请求缓存起来,暂停该请求的分发,
直到有可用机器的负载情况更新为非高压力的状态时,再将缓存的请求分发
给该机器。
2.根据权利要求1所述的采用交叉备份的分布式数据库日志收集与负载
调节系统,其特征在于:日志收集节点以不同的时间间隔到各个工作机器中
获取不同的日志信息。
3.根据权利要求1所述的采用交叉备份的分布式数据库日志收集与负载
调节系统,其特征在于:负载调节节点的评估过程为:负载调节节点从日志
收集节点获取到各台机器负载情况的日志信息,将这些信息更新到自己维护
的各台机器资源使用信息中,并根据数据库管理员预先设置的CPU、内存、
IO的资源阈值对每台机器的负载情况进行打分,即对每台机器赋予一个从1
到5的分值,分值越高机器负载越高。
4.根据权利要求3所述的采用交叉备份的分布式数据库日志收集与负载
调节系统,其特征在于:请求分发节点收到用户请求后,获取该请求所对应
的数据分片所在的机器组,然后查找该组机器的负载分值,从中找到一台负
载分值最低的机器,将请求发送给这台机器去执行。
5.根据权利要求4所述的采用交叉备份的分布式数据库日志收集与负载
调节系统,其特征在于:请求分发节点设有一缓存池,若某个请求所对应的
可用机器的负载分值均为5,即全部处于高压力状态,请求分发节点会将该
请求缓存到这个缓存池中;当请求分发节点收到新的机器负载分值后,若发
现某台机器的负载分值由5变为非5,即负载降低,会从缓存池...

【专利技术属性】
技术研发人员:武新崔维力宋永智
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

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

1