一种大数据环境下的数据分布方法、装置、设备及介质制造方法及图纸

技术编号:37054433 阅读:18 留言:0更新日期:2023-03-29 19:31
本发明专利技术数据数据处理技术领域,具体涉及一种大数据环境下的数据分布方法、装置、设备及介质,本发明专利技术数据分布方法包括:接收存储请求;其中,存储请求中包括待存储对象的id和数据大小len

【技术实现步骤摘要】
一种大数据环境下的数据分布方法、装置、设备及介质


[0001]本专利技术属于数据处理
,具体涉及一种大数据环境下的数据分布方法、装置、设备及介质。

技术介绍

[0002]对象存储是一种高性能的分布式并行存储技术,用于解决海量数据存储的问题。对象存储系统由于具有块存储系统、文件存储系统无可比拟的可扩展性、数据可靠性和可管理性等特性,已成为当前主流存储架构。在对象存储中,一切数据都以对象的形式存储到对象存储设备(object

based storage device)中。同时,对象存储体系结构很好地实现了文件数据在对象存储设备上地并行性,提高系统地I/O性能。
[0003]如何将数据合理地分布到异构地对象存储设备中是需要解决的问题。如果将数据对象随机存储到任意地对象存储设备中,会导致某一个存储节点的负载过高,从而降低整个系统的读写性能,并且数据对象的读写等操作集中在一部分热点区域,会导致硬件设备的使用寿命减少,也会造成整个系统性能的下降。
[0004]目前的对象存储策略主要有两种:第一种策略采用顺序分配的方式,将所有的对象存储设备按照一定的顺序编上序号,按照给定的顺序将待存储的对象以此存入有效的存储设备中;第二种策略采用哈希的思想,是一种随机存储的策略,通过哈希环、跳跃哈希等方法随机选择存储节点进行存储。这些方法在存储设备是同构的情况下应用较好,当时随着异构存储设备地不断使用和扩展,使用这些方法容易将数据对象存入负载较大,读写性能又较差地存储设备中。现有的方法很少考虑存储设备本身地性能和存储设备的类型(SSD和机械硬盘等等),导致数据在不同的对象存储设备间分布不合理。

技术实现思路

[0005]针对上述提出的问题,本专利技术提出一种大数据环境下的数据分布方法、装置、设备及介质,综合考虑对象存储系统中的每一个对象存储设备的剩余容量、内存、网络负载、I/O量等因素,实现数据对象在中尽可能均匀地分布,保证整个对象存储系统地负载均衡,从而提高设备的性能和使用寿命。
[0006]为了实现上述目的,本专利技术采用如下技术方案:本专利技术第一方面,提供了一种大数据环境下的数据分布方法,包括如下步骤:接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len
i
;当待存储对象的数据大小len
i
大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中。
[0007]进一步的,所述对所述待存储对象进行分片的步骤中,所述待存储对象的分片数量按照下式计算:
计算出上式中n
i
的最小值,令;若,则令;其中,f(n
i
)为n
i
的函数,n
i
为待存储对象Obj
i
的分片个数,为在客户端分裂数据的开销,b
i
为数据传输时间,N为服务器端对象存储设备的数量。
[0008]进一步的,所述计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中的步骤,具体包括如下:计算存储节点的剩余磁盘空间占总磁盘剩余空间的比例,以及内存大小占总内存大小的比例;基于所述比例和比例计算所述存储节点对应的负载率;建立最小负载节点堆;将负载率作为最小负载节点堆的键,存储节点作为值添加进最小负载节点堆,将所述存储节点按照负载率的大小进行升序排序;将所述待存储对象Obj
i
分割成n
i
片,每一片待存储对象Obj
i
记为片;弹出所述最小负载节点堆堆顶的存储节点,将片存入弹出的所述存储节点中,直至所有的片存储完成;其中,每次弹出的所述存储节点对应存储一个片。
[0009]进一步的,当弹出的所述存储节点处于宕机或者不可用状态时,将所述片存储于预设的额外节点中。
[0010]进一步的,所述额外节点得获取方式如下:获取预设的淘汰链表;其中,所述淘汰链表包括有存储节点,所述淘汰链表中的存储节点的负载率均大于所述最小负载节点堆中存储节点的负载率;分别计算所述淘汰链表中存储节点的剩余磁盘空间占总磁盘剩余空间的比例;将所述淘汰链表中的存储节点按照比例的大小进行降序排列,并按照排列顺序取前k个存储节点作为额外节点。
[0011]进一步的,所述将所述片存储于预设的额外节点中的步骤,具体包括:分别计算k个所述额外节点的选取率;将所述片存储于选取率最大的所述额外节点中。
[0012]进一步的,所述额外节点的选取率按照下式计算:其中,W
i
为对象存储设备的磁盘剩余容量,S
i
为对象存储设备的内存大小。
[0013]本专利技术第二方面,提供了一种大数据环境下的数据分布装置,包括:接收模块,用于接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len
i
;分片模块,用于当待存储对象的数据大小len
i
大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;储存模块,用于计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中。
[0014]本专利技术第三方面,提供了一种电子设备,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如上述的大数据环境下的数据分布方法。
[0015]本专利技术第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如上述的大数据环境下的数据分布方法。
[0016]与现有技术相比较,本专利技术的有益效果如下:1)本专利技术提供的大数据环境下的数据分布方法,对较大的存储对象进行分片,采用分片的机制防止一个过大的对象被放入单个存储节点,保证整个对象存储系统地负载均衡,从而提高设备的性能和使用寿命。
[0017]2)本专利技术提供的大数据环境下的数据分布方法,通过最小堆的思想,按照负载率的大小进堆排序,每次从存储节点中选出最优的一系列节点存储对象的分片,尽可能保证均匀存储,不会出现单个节点负载率过大而剩余节点空闲的情况。
附图说明
[0018]构成本申请的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例一种大数据环境下的数据分布方法的流程示意图;图2为本专利技术另一实施例一种大数据环境下的数据分布方法的流程示意图;图3为本专利技术实施例一种大数据环境下的数据分布装置的结构框图;图4为本专利技术实施例一种电子设备的结构框图。
具体实施方式
[0019]下面将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0020]以下详细说明均是示例性的说明,旨在对本专利技术提供进一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大数据环境下的数据分布方法,其特征在于,包括如下步骤:接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len
i
;当待存储对象的数据大小len
i
大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中。2.根据权利要求1所述的大数据环境下的数据分布方法,其特征在于,所述对所述待存储对象进行分片的步骤中,所述待存储对象的分片数量按照下式计算:计算出上式中n
i
的最小值,令;若,则令;其中,f(n
i
)为n
i
的函数,n
i
为待存储对象Obj
i
的分片个数,为在客户端分裂数据的开销,b
i
为数据传输时间,N为服务器端对象存储设备的数量。3.根据权利要求1所述的大数据环境下的数据分布方法,其特征在于,所述计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中的步骤,具体包括如下:计算存储节点的剩余磁盘空间占总磁盘剩余空间的比例,以及内存大小占总内存大小的比例;基于所述比例和比例计算所述存储节点对应的负载率;建立最小负载节点堆;将负载率作为最小负载节点堆的键,存储节点作为值添加进最小负载节点堆,将所述存储节点按照负载率的大小进行升序排序;将所述待存储对象Obj
i
分割成n
i
片,每一片待存储对象Obj
i
记为片;弹出所述最小负载节点堆堆顶的存储节点,将片存入弹出的所述存储节点中,直至所有的片存储完成;其中,每次弹出的所述存储节点对应存储一个片。4.根据权利要求3所述的大数据环境下的数据分布方法,其特征在于...

【专利技术属性】
技术研发人员:冯帆王世军舒安杰李默晗杨杨黄宇翔李小翔韦玮杨永前邸智付雄孙英潘东阳薛丽陈铮楠
申请(专利权)人:华能置业有限公司
类型:发明
国别省市:

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

1