【技术实现步骤摘要】
一种数据存储的方法和装置
[0001]本专利技术涉及大数据
,尤其涉及一种数据存储的方法和装置。
技术介绍
[0002]在现有技术中,采用分布式数据库可以将用户数据存储在统一的存储层(对象存储、HDFS等),以便于不同的分布式节点可以从统一的存储层获取到共享数据,同时在各个分布式节点的本地缓存中,也会存储当前节点的用户数据,大大减少了数据远程读写所造成的性能损失。
[0003]随着集群规模的逐渐增大,节点发生故障的概率也会增加,在服务器出现异常导致分布式节点不可用时,就需要通过共用的存储层将不可用节点上存储的数据下载至新的节点中,以便于节点间的更换。
[0004]但是,现有的数据恢复过程是逐一将存储层的文件同步至新节点的本地缓存中,面对大量的数据恢复,需要新节点与存储层进行多次交互(即每发送一个文件需要交互一次),恢复效率低,且消耗物理资源,影响分布式数据库的应用效率。
技术实现思路
[0005]有鉴于此,本专利技术实施例提供一种数据存储方法和装置,通过对文件大小小于预设阈值的目标数据文件,按照分片编码进行合并打包,使得节点与共享存储之间以文件包的形式进行文件传输,可以有效减少节点与存储层之间的交互次数,提高文件上传和下载的效率。同时在面临节点故障以及变更节点的情况时,可以根据分片编码进行文件包的下载,提高文件的下载效率。
[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据存储的方法。
[0007]本专利技术实施例的一种数据存储的方法,应用 ...
【技术保护点】
【技术特征摘要】
1.一种数据存储的方法,其特征在于,应用于分布式集群,包括:利用所述分布式集群的第一节点获取多个数据文件;确定所述多个数据文件分别对应的第一分片编码;从所述多个所述数据文件中确定出文件大小小于预设阈值的一个或多个目标数据文件;针对属于同一所述第一分片编码的多个所述目标数据文件:将多个所述目标数据文件进行合并,得到与所述第一分片编码分别对应的文件包;将各个所述第一分片编码分别对应的所述文件包发送至所述分布式集群的共享存储中。2.根据权利要求1所述的方法,其特征在于,在所述利用所述分布式集群的第一节点获取多个数据文件之前,还包括:通过所述第一节点根据预设周期获取节点自身的运行负载;在所述运行负载低于预设负载限额的情况下,执行所述获取多个数据文件的步骤。3.根据权利要求1所述的方法,其特征在于,在所述第一节点存在异常重启的情况下,还包括:通过所述第一节点确定自身的节点标识;从所述共享存储中获取与所述节点标识对应的第一目标文件包,将所述第一目标文件包下载至本地,并根据所述第一目标文件包解析得到一个或多个目标数据文件。4.根据权利要求1所述的方法,其特征在于,还包括:在所述第一节点存在异常的情况下,利用所述分布式集群中的第二节点恢复所述第一节点对应的功能。5.根据权利要求4所述的方法,其特征在于,所述利用分布式集群中的第二节点恢复所述第一节点对应的功能,包括:利用所述第二节点从所述共享存储中获取与所述第一节点的节点标识对应的第一目标文件包,并将所述第一目标文件包下载至本地,以根据所述第一目标文件包解析得到一个或多个目标数据文件。6.根据权利要求2所述的方法,其特征在于,在所述分布式集群需要进行节点扩容的情况下,还包括:确定所述分布式集群中待扩容的一个或多个第三节点;根据所述一个或多个第三节点以及扩容前所述分布式集群中的节点数量,确定扩容后所述分布式集群中各个节点分别对应的第二分片编码。7.根据权利要求6所述的方法,其特征在于,利用所述第一节点根据自身的第二分片编码以及扩容前的第一分片编码,确定发生变更的分片,并从本地存储中删除与所述发生变更的分片对应的数据文件。8.根据权利要求6所述的方法,其特征在于,针对所述分布式集群中的任一个所述第三节点:从所述共享存储中获取与自身的所述第二分片编码对应的第二目标文件包,并将所述第二目标文件包下载至本地,以根据所述第二目标文件包解析得到一个或多个目标数据文件。9.根据权利要求1所述的方法,其特征在于,针对所述分布式集群进行节点合并的情
况,还包括:确定待合并的第一节点所对应的合并节点;利用所述合并节点从所述共享存储中获取与所述待合并的第一节点对应的第一目标文件包,并将所述第一目标文件包下载至本地,以使所述合并节点根据所述第三目标文件包解析得到一个或多个目标数据文件。10.根据权利要求9所述的方法,其特征在于,还包括:删除所述待合并的第一节点,并将所述待合并的第一节点对应的分片编码作为所述合并节点对应的分片编码。11.根据权利要求1所述的方法,其特征在于,针对所述文件大小不小于预设阈值的数据...
【专利技术属性】
技术研发人员:陈晓新,吕文栋,蔡雅琼,邓宇,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。