一种数据存储的方法和装置制造方法及图纸

技术编号:37515007 阅读:11 留言:0更新日期:2023-05-12 15:36
本发明专利技术公开了一种数据存储的方法和装置,涉及大数据技术领域。该方法的一具体实施方式包括:利用分布式集群的第一节点获取多个数据文件;确定多个数据文件分别对应的第一分片编码;从多个数据文件中确定出文件大小小于预设阈值的一个或多个目标数据文件;针对属于同一第一分片编码的多个目标数据文件:将多个目标数据文件进行合并,得到与第一分片编码分别对应的文件包;将各个第一分片编码分别对应的文件包发送至分布式集群的共享存储中。该实施方式按照分片编码对目标数据文件进行合并打包,使得节点与共享存储之间以文件包的形式进行文件传输,有效减少节点与存储层之间的交互次数,提高文件上传和下载的效率。提高文件上传和下载的效率。提高文件上传和下载的效率。

【技术实现步骤摘要】
一种数据存储的方法和装置


[0001]本专利技术涉及大数据
,尤其涉及一种数据存储的方法和装置。

技术介绍

[0002]在现有技术中,采用分布式数据库可以将用户数据存储在统一的存储层(对象存储、HDFS等),以便于不同的分布式节点可以从统一的存储层获取到共享数据,同时在各个分布式节点的本地缓存中,也会存储当前节点的用户数据,大大减少了数据远程读写所造成的性能损失。
[0003]随着集群规模的逐渐增大,节点发生故障的概率也会增加,在服务器出现异常导致分布式节点不可用时,就需要通过共用的存储层将不可用节点上存储的数据下载至新的节点中,以便于节点间的更换。
[0004]但是,现有的数据恢复过程是逐一将存储层的文件同步至新节点的本地缓存中,面对大量的数据恢复,需要新节点与存储层进行多次交互(即每发送一个文件需要交互一次),恢复效率低,且消耗物理资源,影响分布式数据库的应用效率。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种数据存储方法和装置,通过对文件大小小于预设阈值的目标数据文件,按照分片编码进行合并打包,使得节点与共享存储之间以文件包的形式进行文件传输,可以有效减少节点与存储层之间的交互次数,提高文件上传和下载的效率。同时在面临节点故障以及变更节点的情况时,可以根据分片编码进行文件包的下载,提高文件的下载效率。
[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据存储的方法。
[0007]本专利技术实施例的一种数据存储的方法,应用于分布式集群,包括:利用所述分布式集群的第一节点获取多个数据文件;确定所述多个数据文件分别对应的第一分片编码;从所述多个所述数据文件中确定出文件大小小于预设阈值的一个或多个目标数据文件;针对属于同一所述第一分片编码的多个所述目标数据文件:将多个所述目标数据文件进行合并,得到与所述第一分片编码分别对应的文件包;将各个所述第一分片编码分别对应的所述文件包发送至所述分布式集群的共享存储中。
[0008]可选地,在所述利用所述分布式集群的第一节点获取多个数据文件之前,还包括:通过所述第一节点根据预设周期获取节点自身的运行负载;在所述运行负载低于预设负载限额的情况下,执行所述获取多个数据文件的步骤。
[0009]可选地,在所述第一节点存在异常重启的情况下,还包括:通过所述第一节点确定自身的节点标识;从所述共享存储中获取与所述节点标识对应的第一目标文件包,将所述第一目标文件包下载至本地,并根据所述第一目标文件包解析得到一个或多个目标数据文件。
[0010]可选地,在所述第一节点存在异常的情况下,利用所述分布式集群中的第二节点
恢复所述第一节点对应的功能。
[0011]可选地,所述利用分布式集群中的第二节点恢复所述第一节点对应的功能,包括:利用所述第二节点从所述共享存储中获取与所述第一节点的节点标识对应的第一目标文件包,并将所述第一目标文件包下载至本地,以根据所述第一目标文件包解析得到一个或多个目标数据文件。
[0012]可选地,在所述分布式集群需要进行节点扩容的情况下,还包括:确定所述分布式集群中待扩容的一个或多个第三节点;根据所述一个或多个第三节点以及扩容前所述分布式集群中的节点数量,确定扩容后所述分布式集群中各个节点分别对应的第二分片编码。
[0013]可选地,该方法还包括:利用所述第一节点根据自身的第二分片编码以及扩容前的第一分片编码,确定发生变更的分片,并从本地存储中删除与所述发生变更的分片对应的数据文件。
[0014]可选地,针对所述分布式集群中的任一个所述第三节点:从所述共享存储中获取与自身的所述第二分片编码对应的第二目标文件包,并将所述第二目标文件包下载至本地,以根据所述第二目标文件包解析得到一个或多个目标数据文件。
[0015]可选地,针对所述分布式集群进行节点合并的情况,还包括:确定待合并的第一节点所对应的合并节点;利用所述合并节点从所述共享存储中获取与所述待合并的第一节点对应的第一目标文件包,并将所述第一目标文件包下载至本地,以使所述合并节点根据所述第三目标文件包解析得到一个或多个目标数据文件。
[0016]可选地,该方法还包括:还包括:删除所述待合并的第一节点,并将所述待合并的第一节点对应的分片编码作为所述合并节点对应的分片编码。
[0017]可选地,针对所述文件大小不小于预设阈值的数据文件:将所述数据文件直接发送至所述共享存储中。
[0018]可选地,在所述第一节点异常、和/或,所述分布式集群扩容得到第三节点,和/或,分布式集群进行节点合并得到合并节点的情况下,该方法还包括:利用异常重启后的第一节点、用于恢复所述第一节点功能的第二节点、所述第三节点、和/或所述合并节点从所述共享存储中读取所述文件大小不小于预设阈值的数据文件。
[0019]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种数据存储的装置。
[0020]本专利技术实施例的一种数据存储的装置包括:获取模块,用于利用所述分布式集群的第一节点获取多个数据文件;确定模块,用于确定所述多个数据文件分别对应的第一分片编码;从所述多个所述数据文件中确定出文件大小小于预设阈值的一个或多个目标数据文件;合并模块,用于针对属于同一所述第一分片编码的多个所述目标数据文件:将多个所述目标数据文件进行合并,得到与所述第一分片编码分别对应的文件包;发送模块,用于将各个所述第一分片编码分别对应的所述文件包发送至所述分布式集群的共享存储中。
[0021]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种用于数据存储的电子设备。
[0022]本专利技术实施例的一种数据存储的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的一种数据存储的方法。
[0023]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读存储介
质。
[0024]本专利技术实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的一种数据存储的方法。
[0025]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机程序产品。
[0026]本专利技术实施例的一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现专利技术实施例的一种数据存储的方法。
[0027]上述专利技术中的一个实施例具有如下优点或有益效果:通过对文件大小小于预设阈值的目标数据文件,按照分片编码进行合并打包,使得节点与共享存储之间以文件包的形式进行文件传输,可以有效减少节点与存储层之间的交互次数,提高文件上传和下载的效率。同时在面临节点故障以及变更节点的情况时,可以根据分片编码进行文件包的下载,提高文件的下载效率。
[0028]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0029本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储的方法,其特征在于,应用于分布式集群,包括:利用所述分布式集群的第一节点获取多个数据文件;确定所述多个数据文件分别对应的第一分片编码;从所述多个所述数据文件中确定出文件大小小于预设阈值的一个或多个目标数据文件;针对属于同一所述第一分片编码的多个所述目标数据文件:将多个所述目标数据文件进行合并,得到与所述第一分片编码分别对应的文件包;将各个所述第一分片编码分别对应的所述文件包发送至所述分布式集群的共享存储中。2.根据权利要求1所述的方法,其特征在于,在所述利用所述分布式集群的第一节点获取多个数据文件之前,还包括:通过所述第一节点根据预设周期获取节点自身的运行负载;在所述运行负载低于预设负载限额的情况下,执行所述获取多个数据文件的步骤。3.根据权利要求1所述的方法,其特征在于,在所述第一节点存在异常重启的情况下,还包括:通过所述第一节点确定自身的节点标识;从所述共享存储中获取与所述节点标识对应的第一目标文件包,将所述第一目标文件包下载至本地,并根据所述第一目标文件包解析得到一个或多个目标数据文件。4.根据权利要求1所述的方法,其特征在于,还包括:在所述第一节点存在异常的情况下,利用所述分布式集群中的第二节点恢复所述第一节点对应的功能。5.根据权利要求4所述的方法,其特征在于,所述利用分布式集群中的第二节点恢复所述第一节点对应的功能,包括:利用所述第二节点从所述共享存储中获取与所述第一节点的节点标识对应的第一目标文件包,并将所述第一目标文件包下载至本地,以根据所述第一目标文件包解析得到一个或多个目标数据文件。6.根据权利要求2所述的方法,其特征在于,在所述分布式集群需要进行节点扩容的情况下,还包括:确定所述分布式集群中待扩容的一个或多个第三节点;根据所述一个或多个第三节点以及扩容前所述分布式集群中的节点数量,确定扩容后所述分布式集群中各个节点分别对应的第二分片编码。7.根据权利要求6所述的方法,其特征在于,利用所述第一节点根据自身的第二分片编码以及扩容前的第一分片编码,确定发生变更的分片,并从本地存储中删除与所述发生变更的分片对应的数据文件。8.根据权利要求6所述的方法,其特征在于,针对所述分布式集群中的任一个所述第三节点:从所述共享存储中获取与自身的所述第二分片编码对应的第二目标文件包,并将所述第二目标文件包下载至本地,以根据所述第二目标文件包解析得到一个或多个目标数据文件。9.根据权利要求1所述的方法,其特征在于,针对所述分布式集群进行节点合并的情
况,还包括:确定待合并的第一节点所对应的合并节点;利用所述合并节点从所述共享存储中获取与所述待合并的第一节点对应的第一目标文件包,并将所述第一目标文件包下载至本地,以使所述合并节点根据所述第三目标文件包解析得到一个或多个目标数据文件。10.根据权利要求9所述的方法,其特征在于,还包括:删除所述待合并的第一节点,并将所述待合并的第一节点对应的分片编码作为所述合并节点对应的分片编码。11.根据权利要求1所述的方法,其特征在于,针对所述文件大小不小于预设阈值的数据...

【专利技术属性】
技术研发人员:陈晓新吕文栋蔡雅琼邓宇
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1