一种clickhouse实时数据流负载均衡方法及系统技术方案

技术编号:36534565 阅读:7 留言:0更新日期:2023-02-01 16:19
本发明专利技术属于数据处理技术领域,具体涉及一种clickhouse实时数据流负载均衡方法及系统;该方法包括:采集clickhouse物理集群节点负载数据,构建一致性哈希多环结构,得到集群数据流的路由策略;根据clickhouse物理集群节点负载数据构建流量分发矩阵;根据流量分发矩阵,采用人工蜂群算法定期寻找流量分发的最优值,得到数据流量负载策略;根据路由策略和数据流量负载策略,采用flink流计算引擎对clickhouse集群的实时数据流进行动态调度;本发明专利技术可均衡各存储节点数据存储量,提高流量分发效率和存储性能,实用性高。实用性高。实用性高。

【技术实现步骤摘要】
一种clickhouse实时数据流负载均衡方法及系统


[0001]本专利技术属于数据处理
,具体涉及一种clickhouse实时数据流负载均衡方法及系统。

技术介绍

[0002]随着大数据时代的来临,对数据的重视提到了前所未有的高度,“数据即资产”已经被广泛认可。数据就像企业的根基,是各企业尚待发掘的财富。大数据是伴随着信息数据爆炸式增长和网络计算技术迅速发展而兴起的一个新型概念。根据麦肯锡全球研究所的定义,大数据是一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。作为信息领域的主要发展方向之一,大数据技术可以应用于大规模数据中的数据挖掘,数据分析和数据共享,并且它通过使用数据的潜在价值创造了巨大的经济效益。与此同时,大数据可为社会和经济发展提供解决策略。大数据服务架构是一种新的服务经济策略,将数据作为资源,加载并提取从不同数据源收集的数据。此服务架构为消费者提供各种自定义数据处理方法,数据分析和可视化服务。
[0003]近年来,数据服务的及时性需求逐渐加强,clickhouse(高性能列式储存数据库)是近年因读写性能优异而备受关注的开源列式数据库,但类似clickhouse这种具有数据分片(shard)概念的分布式存储,基本都依靠distributed引擎实现了distributed(分布式)表机制,在所有分片(本地表)上建立视图进行分布式查询。
[0004]distributed表引擎自身不会存储任何数据,其原理是在集群内部自动开展数据的写入、分发、查询、路由等工作,并通过读取或写入其他远端节点上的表进行数据处理。clickhouse需要先将数据写入到分布式表再同步到本地表,故会存在很大的性能问题。因此直接对本地表进行写入的策略明显优于对分布式表的写入策略,然而数据通过流计算引擎输出到分布式存储介质时,由于数据流量分发的不均匀可能导致存储节点数据存储量级差异性较大,严重影响流量分发效率和存储性能。

技术实现思路

[0005]针对现有技术存在的不足,本专利技术提出了一种clickhouse实时数据流负载均衡方法及系统,该方法包括:
[0006]S1:采集clickhouse物理集群节点负载数据;根据clickhouse物理集群节点负载数据,采用一致性哈希算法构建一致性哈希多环结构,得到集群数据流的路由策略;
[0007]S2:根据clickhouse物理集群节点负载数据构建流量分发矩阵;
[0008]S3:根据流量分发矩阵,采用人工蜂群算法定期寻找流量分发的最优值,得到数据流量负载策略;
[0009]S4:根据路由策略和数据流量负载策略,采用flink流计算引擎对clickhouse集群的实时数据流进行动态调度。
[0010]优选的,得到集群数据流的路由策略的过程包括:
[0011]S11:根据clickhouse物理集群节点负载数据计算物理节点的初始化有效权重;
[0012]S12:根据初始化有效权重计算物理节点对应的虚拟节点映射数量;
[0013]S13:根据虚拟节点映射数量,采用一致性哈希算法构建一致性哈希多环结构即集群数据流的路由负载结构;根据集群数据流的路由负载结构得到集群数据流的路由策略。
[0014]进一步的,计算物理节点的初始化有效权重的过程包括:根据clickhouse物理集群节点负载数据分别计算节点的内存使用率、CPU使用率和带宽使用率;根据节点的内存使用率、CPU使用率和带宽使用率计算物理节点的初始化有效权重;计算物理节点的初始化有效权重的公式为:
[0015]Ew=αCu+βMu+λBu
[0016]其中,Ew表示初始化有效权重,Cu表示节点的CPU使用率,Mu表示节点的内存使用率,Bu表示节点的带宽使用率,α表示CPU权重系数,β表示内存权重系数,λ表示带宽权重系数。
[0017]进一步的,计算物理节点对应的虚拟节点映射数量的公式为:
[0018][0019]其中,ρ
i
表示第i个物理节点对应的虚拟节点个数,表示第i个物理节点的初始化有效权重,n表示物理节点数量,γ代表哈希槽的个数。
[0020]进一步的,构建一致性哈希多环结构的过程包括:定义虚拟节点为索引节点和索引头节点;索引节点和索引头节点组成外层环,外层环用于存储哈希索引;内层环由虚拟节点组成,用于存储虚拟节点;计算索引节点所在的环的层数,根据索引节点各自所在的环的层数将所有索引节点组成多环结构。
[0021]进一步的,计算环的层数的公式为:
[0022][0023]其中,L
i
表示第i个索引节点所在的环的层数,p表示概率常数,k表示层数。
[0024]进一步的,构建流量分发矩阵的过程包括:
[0025]根据clickhouse物理集群节点负载数据计算节点的初始化有效权重,根据节点的初始化有效权重计算节点负载权重;计算节点负载权重的公式为:
[0026]Cw=Cw
last
+Ew
[0027]其中,Cw表示节点负载权重;Cw
last
表示上轮迭代的节点负载权重,计算初始化节点负载权重时,Cw
last
=0;Ew表示初始化有效权重;
[0028]根据节点负载权重计算节点的流量分发阈值;
[0029]根据流量分发阈值生成流量分发矩阵BA。
[0030]优选的,采用人工蜂群算法定期寻找流量分发的最优值的过程包括:
[0031]S31:根据流量分发矩阵生成蜜源矩阵;
[0032]S32:计算蜜源矩阵更新概率;
[0033]S33:产生随机数,若更新概率大于随机数,则对蜜源矩阵进行更新,否则,保留当前蜜源矩阵,返回步骤S32;
[0034]S34:设置搜索阈值,当迭代次数到达搜索阈值时,判断当前的蜜源矩阵是否最优,若是,则将当前蜜源矩阵作为流量分发的最优值即数据流量负载策略;否则,更新流量分发矩阵BA并返回步骤S31。
[0035]优选的,对clickhouse集群的实时数据流进行动态调度的过程包括:
[0036]S41:将集群数据流的路由策略广播给Flink流计算引擎的所有计算节点;
[0037]S42:每个计算节点根据每条数据的路由策略,将数据流匹配虚拟节点并通过虚拟节点转发至数据缓存桶中;
[0038]S43:每个数据缓存桶根据数据流量负载策略,通过Apache Flink流计算将桶内的数据批量刷新到clickhouse集群,完成当前的clickhouse集群的数据流调度;
[0039]S44:收集Flink Metrics运行时指标数据,更新到指标时序监控器,用于下次clickhouse集群的数据流调度
[0040]一种clickhouse实时数据流负载均衡系统,包括:运行指标收集本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种clickhouse实时数据流负载均衡方法,其特征在于,包括:S1:采集clickhouse物理集群节点负载数据;根据clickhouse物理集群节点负载数据,采用一致性哈希算法构建一致性哈希多环结构,得到集群数据流的路由策略;S2:根据clickhouse物理集群节点负载数据构建流量分发矩阵;S3:根据流量分发矩阵,采用人工蜂群算法定期寻找流量分发的最优值,得到数据流量负载策略;S4:根据路由策略和数据流量负载策略,采用flink流计算引擎对clickhouse集群的实时数据流进行动态调度。2.根据权利要求1所述的一种clickhouse实时数据流负载均衡方法,其特征在于,得到集群数据流的路由策略的过程包括:S11:根据clickhouse物理集群节点负载数据计算物理节点的初始化有效权重;S12:根据初始化有效权重计算物理节点对应的虚拟节点映射数量;S13:根据虚拟节点映射数量,采用一致性哈希算法构建一致性哈希多环结构即集群数据流的路由负载结构;根据集群数据流的路由负载结构得到集群数据流的路由策略。3.根据权利要求2所述的一种clickhouse实时数据流负载均衡方法,其特征在于,计算物理节点的初始化有效权重的过程包括:根据clickhouse物理集群节点负载数据分别计算节点的内存使用率、CPU使用率和带宽使用率;根据节点的内存使用率、CPU使用率和带宽使用率计算物理节点的初始化有效权重;计算物理节点的初始化有效权重的公式为:Ew=αCu+βMu+λBu其中,Ew表示初始化有效权重,Cu表示节点的CPU使用率,Mu表示节点的内存使用率,Bu表示节点的带宽使用率,α表示CPU权重系数,β表示内存权重系数,λ表示带宽权重系数。4.根据权利要求2所述的一种clickhouse实时数据流负载均衡方法,其特征在于,计算物理节点对应的虚拟节点映射数量的公式为:其中,ρ
i
表示第i个物理节点对应的虚拟节点个数,表示第i个物理节点的初始化有效权重,n表示物理节点数量,γ代表哈希槽的个数。5.根据权利要求2所述的一种clickhouse实时数据流负载均衡方法,其特征在于,构建一致性哈希多环结构的过程包括:定义虚拟节点为索引节点和索引头节点;索引节点和索引头节点组成外层环,外层环用于存储哈希索引;内层环由虚拟节点组成,用于存储虚拟节点;计算索引节点所在的环的层数,根据索引节点各自所在的环的层数将所有索引节点组成多环结构。6.根据权利要求5所述的一种clickhouse实时数据流负载均衡方法,其特征在于,计算环的层数的公式为:其中,L
i
表示第i个索引节点所在的环的层数,p表示概率常数,k表示层数。<...

【专利技术属性】
技术研发人员:苏贞何安平熊安萍
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1