CN115857837B - 一种大数据环境下的数据分布方法、装置、设备及介质 - Google Patents

一种大数据环境下的数据分布方法、装置、设备及介质 Download PDF

Info

Publication number
CN115857837B
CN115857837B CN202310169831.0A CN202310169831A CN115857837B CN 115857837 B CN115857837 B CN 115857837B CN 202310169831 A CN202310169831 A CN 202310169831A CN 115857837 B CN115857837 B CN 115857837B
Authority
CN
China
Prior art keywords
stored
storage
node
storage node
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310169831.0A
Other languages
English (en)
Other versions
CN115857837A (zh
Inventor
冯帆
王世军
舒安杰
李默晗
杨杨
黄宇翔
李小翔
韦玮
杨永前
邸智
付雄
孙英
潘东阳
薛丽
陈铮楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaneng Real Estate Co ltd
Huaneng Clean Energy Research Institute
Original Assignee
Huaneng Real Estate Co ltd
Huaneng Clean Energy Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huaneng Real Estate Co ltd, Huaneng Clean Energy Research Institute filed Critical Huaneng Real Estate Co ltd
Priority to CN202310169831.0A priority Critical patent/CN115857837B/zh
Publication of CN115857837A publication Critical patent/CN115857837A/zh
Application granted granted Critical
Publication of CN115857837B publication Critical patent/CN115857837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明数据数据处理技术领域,具体涉及一种大数据环境下的数据分布方法、装置、设备及介质,本发明数据分布方法包括:接收存储请求;其中,存储请求中包括待存储对象的id和数据大小len i ;当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对待存储对象进行分片;计算待存储对象的分片的最优存储节点,将待存储对象的分片存储于最优存储节点中。本发明提供的一种大数据环境下的数据分布方法,对较大的存储对象进行分片,采用分片的机制防止一个过大的对象被放入单个存储节点,保证整个对象存储系统地负载均衡,从而提高设备的性能和使用寿命。

Description

一种大数据环境下的数据分布方法、装置、设备及介质
技术领域
本发明属于数据处理技术领域,具体涉及一种大数据环境下的数据分布方法、装置、设备及介质。
背景技术
对象存储是一种高性能的分布式并行存储技术,用于解决海量数据存储的问题。对象存储系统由于具有块存储系统、文件存储系统无可比拟的可扩展性、数据可靠性和可管理性等特性,已成为当前主流存储架构。在对象存储中,一切数据都以对象的形式存储到对象存储设备
Figure SMS_1
(object-based storage device)中。同时,对象存储体系结构很好地实现了文件数据在对象存储设备上地并行性,提高系统地I/O性能。
如何将数据合理地分布到异构地对象存储设备
Figure SMS_2
中是需要解决的问题。如果将数据对象随机存储到任意地对象存储设备中,会导致某一个存储节点的负载过高,从而降低整个系统的读写性能,并且数据对象的读写等操作集中在一部分热点区域,会导致硬件设备的使用寿命减少,也会造成整个系统性能的下降。
目前的对象存储策略主要有两种:第一种策略采用顺序分配的方式,将所有的对象存储设备按照一定的顺序编上序号,按照给定的顺序将待存储的对象以此存入有效的存储设备中;第二种策略采用哈希的思想,是一种随机存储的策略,通过哈希环、跳跃哈希等方法随机选择存储节点进行存储。这些方法在存储设备是同构的情况下应用较好,当时随着异构存储设备地不断使用和扩展,使用这些方法容易将数据对象存入负载较大,读写性能又较差地存储设备中。现有的方法很少考虑存储设备本身地性能和存储设备的类型(SSD和机械硬盘等等),导致数据在不同的对象存储设备间分布不合理。
发明内容
针对上述提出的问题,本发明提出一种大数据环境下的数据分布方法、装置、设备及介质,综合考虑对象存储系统中的每一个对象存储设备
Figure SMS_3
的剩余容量、内存、网络负载、I/O量等因素,实现数据对象在/>
Figure SMS_4
中尽可能均匀地分布,保证整个对象存储系统地负载均衡,从而提高设备的性能和使用寿命。
为了实现上述目的,本发明采用如下技术方案:
本发明第一方面,提供了一种大数据环境下的数据分布方法,包括如下步骤:
接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len i
当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;
计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中。
进一步的,所述对所述待存储对象进行分片的步骤中,所述待存储对象的分片数量按照下式计算:
Figure SMS_5
计算出上式中n i 的最小值
Figure SMS_6
,令/>
Figure SMS_7
;若/>
Figure SMS_8
,则令/>
Figure SMS_9
其中,f(n i )n i 的函数,n i 为待存储对象Obj i 的分片个数,
Figure SMS_10
为在客户端分裂数据的开销,b i 为数据传输时间,N为服务器端对象存储设备的数量。
进一步的,所述计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中的步骤,具体包括如下:
计算存储节点
Figure SMS_11
的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure SMS_12
,以及内存大小占总内存大小的比例/>
Figure SMS_13
基于所述比例
Figure SMS_14
和比例/>
Figure SMS_15
计算所述存储节点对应的负载率/>
Figure SMS_16
建立最小负载节点堆
Figure SMS_17
将负载率
Figure SMS_18
作为最小负载节点堆/>
Figure SMS_19
的键,存储节点/>
Figure SMS_20
作为值添加进最小负载节点堆/>
Figure SMS_21
,将所述存储节点/>
Figure SMS_22
按照负载率/>
Figure SMS_23
的大小进行升序排序;
将所述待存储对象Obj i 分割成n i 片,每一片待存储对象Obj i 记为片
Figure SMS_24
弹出所述最小负载节点堆
Figure SMS_25
堆顶的存储节点,将片/>
Figure SMS_26
存入弹出的所述存储节点中,直至所有的片/>
Figure SMS_27
存储完成;其中,每次弹出的所述存储节点对应存储一个片/>
Figure SMS_28
进一步的,当弹出的所述存储节点处于宕机或者不可用状态时,将所述片
Figure SMS_29
存储于预设的额外节点中。
进一步的,所述额外节点得获取方式如下:
获取预设的淘汰链表
Figure SMS_30
;其中,所述淘汰链表/>
Figure SMS_31
包括有存储节点,所述淘汰链表/>
Figure SMS_32
中的存储节点的负载率均大于所述最小负载节点堆
Figure SMS_33
中存储节点的负载率;
分别计算所述淘汰链表
Figure SMS_34
中存储节点的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure SMS_35
将所述淘汰链表
Figure SMS_36
中的存储节点按照比例/>
Figure SMS_37
的大小进行降序排列,并按照排列顺序取前k个存储节点作为额外节点。
进一步的,所述将所述片
Figure SMS_38
存储于预设的额外节点中的步骤,具体包括:
分别计算k个所述额外节点的选取率
Figure SMS_39
将所述片
Figure SMS_40
存储于选取率/>
Figure SMS_41
最大的所述额外节点中。
进一步的,所述额外节点的选取率
Figure SMS_42
按照下式计算:/>
Figure SMS_43
其中,W i 为对象存储设备的磁盘剩余容量,S i 为对象存储设备的内存大小。
本发明第二方面,提供了一种大数据环境下的数据分布装置,包括:
接收模块,用于接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len i
分片模块,用于当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;
储存模块,用于计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中。
本发明第三方面,提供了一种电子设备,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如上述的大数据环境下的数据分布方法。
本发明第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如上述的大数据环境下的数据分布方法。
与现有技术相比较,本发明的有益效果如下:
1)本发明提供的大数据环境下的数据分布方法,对较大的存储对象进行分片,采用分片的机制防止一个过大的对象被放入单个存储节点,保证整个对象存储系统地负载均衡,从而提高设备的性能和使用寿命。
2)本发明提供的大数据环境下的数据分布方法,通过最小堆的思想,按照负载率的大小进堆排序,每次从存储节点中选出最优的一系列节点存储对象的分片,尽可能保证均匀存储,不会出现单个节点负载率过大而剩余节点空闲的情况。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一种大数据环境下的数据分布方法的流程示意图;
图2为本发明另一实施例一种大数据环境下的数据分布方法的流程示意图;
图3为本发明实施例一种大数据环境下的数据分布装置的结构框图;
图4为本发明实施例一种电子设备的结构框图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
实施例1
如图1所示,本方案提供了一种大数据环境下的数据分布方法,包括如下步骤:
S1、接收存储请求;其中,存储请求中包括待存储对象的id和数据大小len i
具体的,服务器端接收到来自客户端的存储请求;
其中,服务器端共有N个对象存储设备,对象存储设备的集合:
Figure SMS_44
;对象存储设备的集合中的元素作为存储节点;
客户端共有x个待存储的数据对象,待存储对象的集合:
Figure SMS_45
客户端向服务器发出存储请求,请求中携带两个参数:待存储对象集合OBJ中的元素Obj i ,元素Obj i 的数据大小len i
S2、当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对待存储对象进行分片。
本方案中,待存储对象的分片数量按照下式计算:
Figure SMS_46
计算出上式中n i 的最小值
Figure SMS_47
,令/>
Figure SMS_48
;若/>
Figure SMS_49
,则令/>
Figure SMS_50
其中,f(n i )为n i 的函数,n i 为待存储对象Obj i 的分片个数,
Figure SMS_51
为在客户端分裂数据的开销,b i 为数据传输时间,N为服务器端对象存储设备的数量。
其他的一些实施例中,当待存储对象的数据大小len i 小于预设的设定对象分片阈值threshold时,另待存储对象的分片个数=1。
S3、计算待存储对象的分片的最优存储节点,将待存储对象的分片存储于最优存储节点中。
具体包括如下步骤:
S31、计算存储节点
Figure SMS_52
的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure SMS_53
,以及内存大小占总内存大小的比例/>
Figure SMS_54
S32、基于比例
Figure SMS_55
和比例/>
Figure SMS_56
计算存储节点对应的负载率/>
Figure SMS_57
S33、建立最小负载节点堆
Figure SMS_58
S34、将负载率
Figure SMS_59
作为最小负载节点堆/>
Figure SMS_60
的键,存储节点/>
Figure SMS_61
作为值添加进最小负载节点堆/>
Figure SMS_62
,将存储节点/>
Figure SMS_63
按照负载率/>
Figure SMS_64
的大小进行升序排序;
S35、将待存储对象Obj i 分割成n i 片,每一片待存储对象Obj i 记为片
Figure SMS_65
S36、弹出最小负载节点堆
Figure SMS_66
堆顶的存储节点,将片/>
Figure SMS_67
存入弹出的存储节点中,直至所有的片/>
Figure SMS_68
存储完成;其中,每次弹出的存储节点对应存储一个片/>
Figure SMS_69
其它的一些实施例中,还包括步骤,当弹出的存储节点处于宕机或者不可用状态时,将片
Figure SMS_70
存储于预设的额外节点中。/>
具体的,额外节点得获取方式如下:
获取预设的淘汰链表
Figure SMS_72
;其中,淘汰链表/>
Figure SMS_73
包括有存储节点,淘汰链表/>
Figure SMS_74
中的存储节点的负载率均大于最小负载节点堆/>
Figure SMS_75
中存储节点的负载率;分别计算淘汰链表/>
Figure SMS_76
中存储节点的剩余磁盘空间占总磁盘剩余空间的比例
Figure SMS_77
;将淘汰链表/>
Figure SMS_78
中的存储节点按照比例/>
Figure SMS_71
的大小进行降序排列,并按照排列顺序取前k个存储节点作为额外节点。
具体的,将片
Figure SMS_79
存储于预设的额外节点中的步骤包括:分别计算k个额外节点的选取率/>
Figure SMS_80
;将片/>
Figure SMS_81
存储于选取率/>
Figure SMS_82
最大的额外节点中。
具体的,额外节点的选取率
Figure SMS_83
按照下式计算:
Figure SMS_84
其中,W i 为对象存储设备的磁盘剩余容量,S i 为对象存储设备的内存大小。
如图2所示,本发明其他的实施例还提供了一种大数据环境下的数据分布方法,包括如下步骤:
步骤1:客户端共有x个待存储的数据对象,待存储对象的集合
Figure SMS_85
,客户端向服务器发出存储请求,请求中携带两个参数:待存储对象集合OBJ中的元素Obj i Obj i 的数据大小len i
服务器端共有
Figure SMS_86
个对象存储设备,对象存储设备的集合
Figure SMS_87
初始化对象存储设备集合OSD中所有元素的状态码
Figure SMS_88
服务器端初始化设定对象分片阈值
Figure SMS_89
步骤2:服务器端接收到存储请求,读取存储请求中携带待存储对象的id和数据大小len i ,若待存储对象的数据大小len i 小于设定对象分片阈值threshold,令存储对象Obj i 的分片个数n i =1并转入步骤5,否则进入步骤3。
步骤3:将大小超过设定对象分片阈值threshold的存储对象Obj i 进行分片,n i Obj i 被分片的数量。
根据客户端的智能终端测得并行传输数据文件的总时延Tp、串行传输数据文件的总时延T、在客户端分裂数据的开销
Figure SMS_90
和数据传输时间b i ,通过公式(1)得出并行传输文件的总时延和串行传输的总时延的时间比。
Figure SMS_91
(1)
步骤 4:将公式(1)变形得到关于n i 的函数(2),计算出函数(2)中n i 的最小值
Figure SMS_92
,令/>
Figure SMS_93
。若/>
Figure SMS_94
,则令/>
Figure SMS_95
。将n i 作为Obj i 的分片个数;
建立最小负载节点堆
Figure SMS_96
,初始化堆的大小为n i ;建立失败节点链表/>
Figure SMS_97
,链表初始化为空。
Figure SMS_98
(2)
步骤 5:从i=1开始,遍历服务器端的所有存储节点
Figure SMS_99
,根据智能存储终端采集的硬件信息得到/>
Figure SMS_100
的内存大小S i 、数据传输时延T i 、磁盘I/O量P i 、磁盘剩余容量W i 和网络负载NL i
步骤6:根据公式(3)计算存储节点
Figure SMS_101
的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure SMS_102
根据公式(4)计算存储节点
Figure SMS_103
内存大小占总内存大小的比例/>
Figure SMS_104
Figure SMS_105
(3)
Figure SMS_106
(4)
步骤 7:根据公式(5)计算存储节点
Figure SMS_107
对应的负载率Load i ,将负载率Load i 作为最小负载节点堆TreeMap min 的键,存储节点/>
Figure SMS_108
作为值添加进最小负载节点堆TreeMap min ,实现按照负载率Load i 的大小进行升序排序。
i>n i ,将存储节点OSD i 与最小负载节点堆TreeMap min 的末尾元素比较,淘汰负载率Load i 大的存储节点,将负载率Load i 小的存储节点进堆,并将淘汰的存储节点加入淘汰链表
Figure SMS_109
如果i=N则转入步骤8;否则i加1,并转入步骤5。
Figure SMS_110
(5)
步骤 8:根据n i 计算k个额外节点。采用冒泡排序将淘汰链表
Figure SMS_111
中的元素按照比例/>
Figure SMS_112
的大小进行降序排序,选取前k个存储节点作为额外节点,其中/>
Figure SMS_113
,/>
Figure SMS_114
步骤 9:将客户端请求的待存储对象Obj i 分割成n i 片,每一片记为片slice i ,从i=0开始,每次弹出最小负载节点堆TreeMap min 堆顶的储存节点,若该储存节点处于宕机或者不可用状态,将状态码
Figure SMS_115
置为false,并转入步骤10。否则将片slice i 存入堆顶的储存节点,i加1。当i=n i 时,转入步骤11。
步骤 10:服务器端接收到状态码
Figure SMS_116
,根据公式(6)计算淘汰链表/>
Figure SMS_117
中的前k个元素的选取率Prob i ,根据选取率Prob i 随机选取淘汰链表/>
Figure SMS_118
中的前k个元素中的一个元素作为片slice i 的存储节点,将片slice i 存入选取的存储节点中,i加1,并返回步骤9。
Figure SMS_119
(6)
步骤 11:待存储对象Obj i 存储完成,数据分布流程结束。
实施例2
如图3所示,基于与上述实施例的同一发明构思,本方案提供了一种大数据环境下的数据分布装置,包括:
接收模块,用于接收存储请求;其中,存储请求中包括待存储对象的id和数据大小len i
分片模块,用于当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对待存储对象进行分片;
分片模块中,待存储对象的分片数量按照下式计算:
Figure SMS_120
计算出上式中n i 的最小值
Figure SMS_121
,令/>
Figure SMS_122
;若/>
Figure SMS_123
,则令/>
Figure SMS_124
其中,f(n i )为n i 的函数,n i 为待存储对象Obj i 的分片个数,
Figure SMS_125
为在客户端分裂数据的开销,b i 为数据传输时间,N为服务器端对象存储设备的数量。
储存模块,用于计算待存储对象的分片的最优存储节点,将待存储对象的分片存储于最优存储节点中。
储存模块,具体用于:
计算存储节点
Figure SMS_126
的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure SMS_127
,以及内存大小占总内存大小的比例/>
Figure SMS_128
基于所述比例
Figure SMS_129
和比例/>
Figure SMS_130
计算所述存储节点对应的负载率/>
Figure SMS_131
建立最小负载节点堆
Figure SMS_132
将负载率
Figure SMS_133
作为最小负载节点堆/>
Figure SMS_134
的键,存储节点/>
Figure SMS_135
作为值添加进最小负载节点堆/>
Figure SMS_136
,将所述存储节点/>
Figure SMS_137
按照负载率/>
Figure SMS_138
的大小进行升序排序;
将所述待存储对象Obj i 分割成n i 片,每一片待存储对象Obj i 记为片
Figure SMS_139
弹出所述最小负载节点堆
Figure SMS_140
堆顶的存储节点,将片/>
Figure SMS_141
存入弹出的所述存储节点中,直至所有的片/>
Figure SMS_142
存储完成;其中,每次弹出的所述存储节点对应存储一个片/>
Figure SMS_143
当弹出的存储节点处于宕机或者不可用状态时,将片
Figure SMS_144
存储于预设的额外节点中。
具体的,额外节点得获取方式如下:
获取预设的淘汰链表
Figure SMS_145
;其中,淘汰链表/>
Figure SMS_146
包括有存储节点,淘汰链表/>
Figure SMS_147
中的存储节点的负载率均大于最小负载节点堆/>
Figure SMS_148
中存储节点的负载率;
分别计算淘汰链表
Figure SMS_149
中存储节点的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure SMS_150
将淘汰链表
Figure SMS_151
中的存储节点按照比例/>
Figure SMS_152
的大小进行降序排列,并按照排列顺序取前k个存储节点作为额外节点。
具体的,将片
Figure SMS_153
存储于预设的额外节点中的步骤,包括:
分别计算k个额外节点的选取率
Figure SMS_154
将片
Figure SMS_155
存储于选取率/>
Figure SMS_156
最大的额外节点中。
具体的,额外节点的选取率
Figure SMS_157
按照下式计算:
Figure SMS_158
其中,W i 为对象存储设备的磁盘剩余容量,S i 为对象存储设备的内存大小。
实施例3
如图4所示,基于与上述实施例的同一发明构思,本发明还提供一种用于实现上述实施例一种大数据环境下的数据分布方法的电子设备100;电子设备100包括存储器101、至少一个处理器102、存储在存储器101中并可在至少一个处理器102上运行的计算机程序103及至少一条通讯总线104。存储器101可用于存储计算机程序103,处理器102通过运行或执行存储在存储器101内的计算机程序,以及调用存储在存储器101内的数据,实现实施例1一种大数据环境下的数据分布方法步骤。
存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器101可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
至少一个处理器102可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以是微处理器或者该处理器102也可以是任何常规的处理器等,处理器102是电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。
电子设备100中的存储器101存储多个指令以实现一种大数据环境下的数据分布方法,处理器102可执行多个指令从而实现:
接收存储请求;其中,存储请求中包括待存储对象的id和数据大小len i
当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对待存储对象进行分片;
计算待存储对象的分片的最优存储节点,将待存储对象的分片存储于最优存储节点中。
实施例4
电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器及只读存储器(ROM,Read-OnlyMemory)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (8)

1.一种大数据环境下的数据分布方法,其特征在于,包括如下步骤:
接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len i
当待存储对象的数据大小len i大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;对象分片阈值
Figure QLYQS_1
计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中;
所述对所述待存储对象进行分片的步骤中,所述待存储对象的分片数量按照下式计算:
Figure QLYQS_2
计算出上式中n i的最小值
Figure QLYQS_3
,令/>
Figure QLYQS_4
;若/>
Figure QLYQS_5
,则令/>
Figure QLYQS_6
其中,f(n i)为n i的函数,n i为待存储对象Obj i的分片个数,
Figure QLYQS_7
为在客户端分裂数据的开销,b i为数据传输时间,N为服务器端对象存储设备的数量;
所述计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中的步骤,具体包括如下:
计算存储节点
Figure QLYQS_8
的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure QLYQS_9
,以及内存大小占总内存大小的比例/>
Figure QLYQS_10
基于所述比例
Figure QLYQS_11
和比例/>
Figure QLYQS_12
计算所述存储节点对应的负载率/>
Figure QLYQS_13
建立最小负载节点堆
Figure QLYQS_14
将负载率
Figure QLYQS_15
作为最小负载节点堆/>
Figure QLYQS_16
的键,存储节点/>
Figure QLYQS_17
作为值添加进最小负载节点堆/>
Figure QLYQS_18
,将所述存储节点/>
Figure QLYQS_19
按照负载率/>
Figure QLYQS_20
的大小进行升序排序;
将所述待存储对象Obj i分割成n i片,每一片待存储对象Obj i记为片
Figure QLYQS_21
弹出所述最小负载节点堆
Figure QLYQS_22
堆顶的存储节点,将片/>
Figure QLYQS_23
存入弹出的所述存储节点中,直至所有的片/>
Figure QLYQS_24
存储完成;其中,每次弹出的所述存储节点对应存储一个片/>
Figure QLYQS_25
2.根据权利要求1所述的大数据环境下的数据分布方法,其特征在于,当弹出的所述存储节点处于宕机或者不可用状态时,将所述片
Figure QLYQS_26
存储于预设的额外节点中。
3.根据权利要求2所述的大数据环境下的数据分布方法,其特征在于,所述额外节点的获取方式如下:
获取预设的淘汰链表
Figure QLYQS_27
;其中,所述淘汰链表/>
Figure QLYQS_28
包括有存储节点,所述淘汰链表/>
Figure QLYQS_29
中的存储节点的负载率均大于所述最小负载节点堆
Figure QLYQS_30
中存储节点的负载率;
分别计算所述淘汰链表
Figure QLYQS_31
中存储节点的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure QLYQS_32
将所述淘汰链表
Figure QLYQS_33
中的存储节点按照比例/>
Figure QLYQS_34
的大小进行降序排列,并按照排列顺序取前k个存储节点作为额外节点。
4.根据权利要求3所述的大数据环境下的数据分布方法,其特征在于,所述将所述片
Figure QLYQS_35
存储于预设的额外节点中的步骤,具体包括:
分别计算k个所述额外节点的选取率
Figure QLYQS_36
将所述片
Figure QLYQS_37
存储于选取率/>
Figure QLYQS_38
最大的所述额外节点中。
5.根据权利要求4所述的大数据环境下的数据分布方法,其特征在于,所述额外节点的选取率
Figure QLYQS_39
按照下式计算:
Figure QLYQS_40
其中,W i为对象存储设备的磁盘剩余容量,S i为对象存储设备的内存大小。
6.一种大数据环境下的数据分布装置,其特征在于,包括:
接收模块,用于接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len i
分片模块,用于当待存储对象的数据大小len i大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;
储存模块,用于计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中;
分片模块中,所述待存储对象的分片数量按照下式计算:
Figure QLYQS_41
计算出上式中n i的最小值
Figure QLYQS_42
,令/>
Figure QLYQS_43
;若/>
Figure QLYQS_44
,则令/>
Figure QLYQS_45
其中,f(n i)为n i的函数,n i为待存储对象Obj i的分片个数,
Figure QLYQS_46
为在客户端分裂数据的开销,b i为数据传输时间,N为服务器端对象存储设备的数量;
储存模块,具体用于:
计算存储节点
Figure QLYQS_47
的剩余磁盘空间占总磁盘剩余空间的比例/>
Figure QLYQS_48
,以及内存大小占总内存大小的比例/>
Figure QLYQS_49
基于所述比例
Figure QLYQS_50
和比例/>
Figure QLYQS_51
计算所述存储节点对应的负载率/>
Figure QLYQS_52
建立最小负载节点堆
Figure QLYQS_53
将负载率
Figure QLYQS_54
作为最小负载节点堆/>
Figure QLYQS_55
的键,存储节点/>
Figure QLYQS_56
作为值添加进最小负载节点堆/>
Figure QLYQS_57
,将所述存储节点/>
Figure QLYQS_58
按照负载率/>
Figure QLYQS_59
的大小进行升序排序;
将所述待存储对象Obj i分割成n i片,每一片待存储对象Obj i记为片
Figure QLYQS_60
;/>
弹出所述最小负载节点堆
Figure QLYQS_61
堆顶的存储节点,将片/>
Figure QLYQS_62
存入弹出的所述存储节点中,直至所有的片/>
Figure QLYQS_63
存储完成;其中,每次弹出的所述存储节点对应存储一个片/>
Figure QLYQS_64
7.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至5中任意一项所述的大数据环境下的数据分布方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至5中任意一项所述的大数据环境下的数据分布方法。
CN202310169831.0A 2023-02-27 2023-02-27 一种大数据环境下的数据分布方法、装置、设备及介质 Active CN115857837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310169831.0A CN115857837B (zh) 2023-02-27 2023-02-27 一种大数据环境下的数据分布方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310169831.0A CN115857837B (zh) 2023-02-27 2023-02-27 一种大数据环境下的数据分布方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115857837A CN115857837A (zh) 2023-03-28
CN115857837B true CN115857837B (zh) 2023-06-06

Family

ID=85659120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310169831.0A Active CN115857837B (zh) 2023-02-27 2023-02-27 一种大数据环境下的数据分布方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115857837B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134326A (zh) * 2018-02-09 2019-08-16 北京京东尚科信息技术有限公司 一种分片切分的方法和装置
CN111352577B (zh) * 2018-12-24 2023-03-14 杭州海康威视系统技术有限公司 一种对象存储方法及装置
CN109885256B (zh) * 2019-01-23 2022-07-08 平安科技(深圳)有限公司 一种基于数据分片的数据存储方法、设备及介质
CN110069219B (zh) * 2019-04-23 2022-08-09 深信服科技股份有限公司 一种数据存储方法、系统及电子设备和存储介质
CN112448984A (zh) * 2019-09-02 2021-03-05 北京新唐思创教育科技有限公司 资源传输方法、电子设备及计算机存储介质
CN113760172A (zh) * 2020-06-04 2021-12-07 杭州海康威视数字技术股份有限公司 一种分片分配方法、装置及电子设备
CN114372060A (zh) * 2022-01-12 2022-04-19 平安壹钱包电子商务有限公司 数据存储方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115857837A (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
US11055029B2 (en) Edge case handling in system with dynamic flow control
CN110750382B (zh) 用于提高数据修复性能的最小存储再生码编码方法及系统
CN110134332B (zh) 一种数据存储方法及相关装置
CN110347651B (zh) 基于云存储的数据同步方法、装置、设备及存储介质
KR20120018178A (ko) 객체 저장부들의 네트워크상의 스웜-기반의 동기화
CN110659151B (zh) 数据校验方法及装置,存储介质
CN110995589B (zh) 一种区块链网络出块时的区块传递方法、装置及设备
CN106156159A (zh) 一种表连接处理方法、装置和云计算系统
CN108200112A (zh) 分布式存储方法及系统
CN106775470B (zh) 一种数据存储的方法及系统
US20200372013A1 (en) Accelerated processing apparatus for transaction considering transaction failure probability and method thereof
CN104598316A (zh) 一种存储资源分配方法及装置
CN108563698B (zh) 一种HBase表的Region合并方法和装置
US10264045B2 (en) Method and server for searching for data stream dividing point based on server
CN115857837B (zh) 一种大数据环境下的数据分布方法、装置、设备及介质
US9667719B1 (en) Parallel storage system with multi-tier hardware accelerated partitioned key-value storage
US20210117235A1 (en) Storage system with efficient release of address lock waiters during synchronous replication
US20200110831A1 (en) Scalable and balanced distribution of asynchronous operations in data replication systems
CN116743771B (zh) 区块链共识方法、装置、电子设备及计算机可读存储介质
US11099767B2 (en) Storage system with throughput-based timing of synchronous replication recovery
JP2016172641A (ja) 収集用カードを生産する方法および装置
CN112764935B (zh) 大数据处理方法、装置、电子设备及存储介质
US11494405B2 (en) Lock contention resolution for active-active replication performed in conjunction with journal recovery
CN110427390B (zh) 数据查询方法及装置、存储介质、电子装置
CN110688223B (zh) 数据处理方法及相关产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant