System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据写入方法、装置、存储介质及电子设备制造方法及图纸_技高网

数据写入方法、装置、存储介质及电子设备制造方法及图纸

技术编号:40017898 阅读:7 留言:0更新日期:2024-01-16 16:17
本发明专利技术公开了一种数据写入方法、装置、存储介质及电子设备。该方法包括:通过Clickhouse集群的主机节点获取目标批次的待写入数据,并确定目标批次的待写入数据对应的待产生分区目录数;获取主机节点的目标分区目录数和已装载目录总数,其中,目标分区目录数是通过目标决策树模型计算得到的;依据待产生分区目录数、目标分区目录数以及已装载目录总数,确定对目标批次的待写入数据的目标写入策略;依据目标写入策略将目标批次的待写入数据写入磁盘。本发明专利技术解决了现有技术中Clickhouse集群面临大量数据写入时,存在分区目录较多导致数据写入效率较低的技术问题。

【技术实现步骤摘要】

本专利技术涉及数据处理,具体而言,涉及一种数据写入方法、装置、存储介质及电子设备


技术介绍

1、日常生产过程中,在clickhouse数据库的mergetree合并树存储引擎的数据摄入高峰期间,过于频繁的数据摄入会造成clickhouse集群存在大量的partition分区目录,过多的分区目录使得进程需要打开大量的文件句柄,同时还会需要大量的资源进行各分区目录的merge合并操作,导致集群稳定性能和查询性能较差,并且,资源占用过多会导致内存不足、分区目录merge压力过大,存在数据写入效率较低的问题。

2、目前,现有技术中通常由技术人员依靠经验修改相关参数或者使用clickhouse各默认值来进行数据摄入,无法完全发挥出集群每台主机的性能,且同一份默认值一般不适用于不同机器,可用性较低。另外,现有技术中还通过数据上游的限流来控制数据的摄入,这种方式实现复杂,需要上游进行配合,clickhouse集群的稳定性完全由上游控制,可靠性较差。

3、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本专利技术实施例提供了一种数据写入方法、装置、存储介质及电子设备,以至少解决现有技术中clickhouse集群面临大量数据写入时,存在分区目录较多导致数据写入效率较低的技术问题。

2、根据本专利技术实施例的一个方面,提供了一种数据写入方法,包括:通过clickhouse集群的主机节点获取目标批次的待写入数据,并确定目标批次的待写入数据对应的待产生分区目录数;获取主机节点的目标分区目录数和已装载目录总数,其中,目标分区目录数是通过目标决策树模型计算得到的;依据待产生分区目录数、目标分区目录数以及已装载目录总数,确定对目标批次的待写入数据的目标写入策略;依据目标写入策略将目标批次的待写入数据写入磁盘。

3、进一步地,在获取主机节点的目标分区目录数和已装载目录总数之前,该方法还包括:当达到第一时刻时,执行第一定时任务以从目标系统表中采集主机节点的参数信息,并将参数信息输入目标决策树模型,得到目标决策树模型输出的目标分区目录数,并对目标分区目录数进行存储;当达到第二时刻时,执行第二定时任务以扫描目标引擎表的分区目录文件夹,统计分区目录文件夹中目标文件夹的数量,得到已装载目录总数,并对已装载目录总数进行存储,其中,目标文件夹为分区目录文件夹中除带有目标标识的文件夹之外的文件夹。

4、进一步地,目标写入策略为第一写入策略或第二写入策略,第一写入策略和第二写入策略对应的写入速度不同,其中,依据待产生分区目录数、目标分区目录数以及已装载目录总数,确定对目标批次的待写入数据的目标写入策略,包括:对待产生分区目录数和已装载目录总数进行求和计算,得到第一分区目录数;对第一分区目录数与目标分区目录数进行比对,得到第一比对结果;若第一比对结果为第一分区目录数小于或等于目标分区目录数,则将第一写入策略作为目标写入策略;若第一比对结果为第一分区目录数大于目标分区目录数,则将第二写入策略作为目标写入策略。

5、进一步地,依据目标写入策略将目标批次的待写入数据写入磁盘,包括:若目标写入策略为第一写入策略,则依据第一写入策略,将目标批次的待写入数据写入磁盘,并对目标批次的待写入数据对应的分区目录进行装载;若目标写入策略为第二写入策略,则依据第二写入策略,将目标批次的待写入数据写入磁盘,并对目标批次的待写入数据对应的分区目录添加目标标识。

6、进一步地,在对目标批次的待写入数据对应的分区目录添加目标标识之后,该方法还包括:当达到第三时刻时,执行第三定时任务以对当前目标分区目录数与当前已装载目录总数进行比对,得到第二比对结果;在第二比对结果为当前已装载目录总数小于当前目标分区目录数的情况下,依据目标比例对目标批次的待写入数据对应的分区目录去除目标标识,并对目标批次的待写入数据对应的分区目录进行装载。

7、进一步地,通过以下步骤生成目标决策树模型:获取样本数据集,并将样本数据集分为训练集和测试集,其中,样本数据集包含真实标签,真实标签用于标识每个样本对应的目标分区目录数;依据训练集和测试集对初始决策树模型进行训练和优化,得到目标决策树模型。

8、进一步地,依据训练集和测试集对初始决策树模型进行训练和优化,得到目标决策树模型,包括:将训练集中的训练样本输入初始决策树模型,输出训练样本对应的预测分区目录数;依据真实标签、预测分区目录数以及测试集,对初始决策树模型进行优化,直至目标损失函数的损失值满足预设条件,得到目标决策树模型。

9、根据本专利技术实施例的另一方面,还提供了一种数据写入装置,包括:第一获取模块,用于通过clickhouse集群的主机节点获取目标批次的待写入数据,并确定目标批次的待写入数据对应的待产生分区目录数;第二获取模块,用于获取主机节点的目标分区目录数和已装载目录总数,其中,目标分区目录数是通过目标决策树模型计算得到的;第一确定模块,用于依据待产生分区目录数、目标分区目录数以及已装载目录总数,确定对目标批次的待写入数据的目标写入策略;第一处理模块,用于依据目标写入策略将目标批次的待写入数据写入磁盘。

10、根据本专利技术实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据写入方法。

11、根据本专利技术实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据写入方法。

12、在本专利技术实施例中,采用依据决策树模型计算出的主机节点的最佳分区目录数来确定对待写入数据的分区目录的装载或卸载操作的方式,首先通过clickhouse集群的主机节点获取目标批次的待写入数据,并确定目标批次的待写入数据对应的待产生分区目录数,然后获取主机节点的目标分区目录数和已装载目录总数,然后依据待产生分区目录数、目标分区目录数以及已装载目录总数,确定对目标批次的待写入数据的目标写入策略,然后依据目标写入策略将目标批次的待写入数据写入磁盘。其中,目标分区目录数是通过目标决策树模型计算得到的。

13、在上述过程中,依据目标决策树模型计算出的最佳分区目录数进行决策,有效地避免了分区目录过多,实现了对分区目录数的有效控制,在整个clickhouse进程摄入大量数据期间,能够使其mergetree引擎的分区目录保持在最佳状态,避免了高压下mergetree引擎merge分区目录带来的问题隐患,提高了数据写入的效率和准确率,充分考虑各主机实际的配置情况与数据摄入的实际情况进行调控,充分发挥出集群每台主机的性能,充分利用本机资源,无需外部系统配合,无需在资源还有空余时投入更多的集群资源。

14、由此可见,通过本专利技术的技术方案,达到了动态地对分区目录进行装载与卸载调整使其达到平衡的目本文档来自技高网...

【技术保护点】

1.一种数据写入方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在获取所述主机节点的目标分区目录数和已装载目录总数之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述目标写入策略为第一写入策略或第二写入策略,所述第一写入策略和所述第二写入策略对应的写入速度不同,其中,依据所述待产生分区目录数、所述目标分区目录数以及所述已装载目录总数,确定对所述目标批次的待写入数据的目标写入策略,包括:

4.根据权利要求3所述的方法,其特征在于,依据所述目标写入策略将所述目标批次的待写入数据写入磁盘,包括:

5.根据权利要求4所述的方法,其特征在于,在对所述目标批次的待写入数据对应的分区目录添加所述目标标识之后,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,通过以下步骤生成所述目标决策树模型:

7.根据权利要求6所述的方法,其特征在于,依据所述训练集和所述测试集对初始决策树模型进行训练和优化,得到所述目标决策树模型,包括:

8.一种数据写入装置,其特征在于,包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的数据写入方法。

10.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至7任一项中所述的数据写入方法。

...

【技术特征摘要】

1.一种数据写入方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在获取所述主机节点的目标分区目录数和已装载目录总数之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述目标写入策略为第一写入策略或第二写入策略,所述第一写入策略和所述第二写入策略对应的写入速度不同,其中,依据所述待产生分区目录数、所述目标分区目录数以及所述已装载目录总数,确定对所述目标批次的待写入数据的目标写入策略,包括:

4.根据权利要求3所述的方法,其特征在于,依据所述目标写入策略将所述目标批次的待写入数据写入磁盘,包括:

5.根据权利要求4所述的方法,其特征在于,在对所述目标批次的待写入数据对应的分区目录添加所述目标标识之后,所述方法还包括:

6.根据权...

【专利技术属性】
技术研发人员:陈陆洋
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

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

1