CN115857837B - 一种大数据环境下的数据分布方法、装置、设备及介质 - Google Patents
一种大数据环境下的数据分布方法、装置、设备及介质 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000009826 distribution Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 188
- 239000012634 fragment Substances 0.000 claims abstract description 27
- 238000013467 fragmentation Methods 0.000 claims abstract description 15
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008030 elimination Effects 0.000 claims description 15
- 238000003379 elimination reaction Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005587 bubbling Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
技术领域
本发明属于数据处理技术领域,具体涉及一种大数据环境下的数据分布方法、装置、设备及介质。
背景技术
对象存储是一种高性能的分布式并行存储技术,用于解决海量数据存储的问题。对象存储系统由于具有块存储系统、文件存储系统无可比拟的可扩展性、数据可靠性和可管理性等特性,已成为当前主流存储架构。在对象存储中,一切数据都以对象的形式存储到对象存储设备(object-based storage device)中。同时,对象存储体系结构很好地实现了文件数据在对象存储设备上地并行性,提高系统地I/O性能。
如何将数据合理地分布到异构地对象存储设备中是需要解决的问题。如果将数据对象随机存储到任意地对象存储设备中,会导致某一个存储节点的负载过高,从而降低整个系统的读写性能,并且数据对象的读写等操作集中在一部分热点区域,会导致硬件设备的使用寿命减少,也会造成整个系统性能的下降。
目前的对象存储策略主要有两种:第一种策略采用顺序分配的方式,将所有的对象存储设备按照一定的顺序编上序号,按照给定的顺序将待存储的对象以此存入有效的存储设备中;第二种策略采用哈希的思想,是一种随机存储的策略,通过哈希环、跳跃哈希等方法随机选择存储节点进行存储。这些方法在存储设备是同构的情况下应用较好,当时随着异构存储设备地不断使用和扩展,使用这些方法容易将数据对象存入负载较大,读写性能又较差地存储设备中。现有的方法很少考虑存储设备本身地性能和存储设备的类型(SSD和机械硬盘等等),导致数据在不同的对象存储设备间分布不合理。
发明内容
针对上述提出的问题,本发明提出一种大数据环境下的数据分布方法、装置、设备及介质,综合考虑对象存储系统中的每一个对象存储设备的剩余容量、内存、网络负载、I/O量等因素,实现数据对象在/>中尽可能均匀地分布,保证整个对象存储系统地负载均衡,从而提高设备的性能和使用寿命。
为了实现上述目的,本发明采用如下技术方案:
本发明第一方面,提供了一种大数据环境下的数据分布方法,包括如下步骤:
接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len i ;
当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;
计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中。
进一步的,所述对所述待存储对象进行分片的步骤中,所述待存储对象的分片数量按照下式计算:
进一步的,所述计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中的步骤,具体包括如下:
进一步的,所述额外节点得获取方式如下:
其中,W i 为对象存储设备的磁盘剩余容量,S i 为对象存储设备的内存大小。
本发明第二方面,提供了一种大数据环境下的数据分布装置,包括:
接收模块,用于接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len i ;
分片模块,用于当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;
储存模块,用于计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中。
本发明第三方面,提供了一种电子设备,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如上述的大数据环境下的数据分布方法。
本发明第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如上述的大数据环境下的数据分布方法。
与现有技术相比较,本发明的有益效果如下:
1)本发明提供的大数据环境下的数据分布方法,对较大的存储对象进行分片,采用分片的机制防止一个过大的对象被放入单个存储节点,保证整个对象存储系统地负载均衡,从而提高设备的性能和使用寿命。
2)本发明提供的大数据环境下的数据分布方法,通过最小堆的思想,按照负载率的大小进堆排序,每次从存储节点中选出最优的一系列节点存储对象的分片,尽可能保证均匀存储,不会出现单个节点负载率过大而剩余节点空闲的情况。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一种大数据环境下的数据分布方法的流程示意图;
图2为本发明另一实施例一种大数据环境下的数据分布方法的流程示意图;
图3为本发明实施例一种大数据环境下的数据分布装置的结构框图;
图4为本发明实施例一种电子设备的结构框图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
实施例1
如图1所示,本方案提供了一种大数据环境下的数据分布方法,包括如下步骤:
S1、接收存储请求;其中,存储请求中包括待存储对象的id和数据大小len i 。
具体的,服务器端接收到来自客户端的存储请求;
客户端共有x个待存储的数据对象,待存储对象的集合:
客户端向服务器发出存储请求,请求中携带两个参数:待存储对象集合OBJ中的元素Obj i ,元素Obj i 的数据大小len i 。
S2、当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对待存储对象进行分片。
本方案中,待存储对象的分片数量按照下式计算:
其他的一些实施例中,当待存储对象的数据大小len i 小于预设的设定对象分片阈值threshold时,另待存储对象的分片个数=1。
S3、计算待存储对象的分片的最优存储节点,将待存储对象的分片存储于最优存储节点中。
具体包括如下步骤:
具体的,额外节点得获取方式如下:
获取预设的淘汰链表;其中,淘汰链表/>包括有存储节点,淘汰链表/>中的存储节点的负载率均大于最小负载节点堆/>中存储节点的负载率;分别计算淘汰链表/>中存储节点的剩余磁盘空间占总磁盘剩余空间的比例;将淘汰链表/>中的存储节点按照比例/>的大小进行降序排列,并按照排列顺序取前k个存储节点作为额外节点。
其中,W i 为对象存储设备的磁盘剩余容量,S i 为对象存储设备的内存大小。
如图2所示,本发明其他的实施例还提供了一种大数据环境下的数据分布方法,包括如下步骤:
步骤2:服务器端接收到存储请求,读取存储请求中携带待存储对象的id和数据大小len i ,若待存储对象的数据大小len i 小于设定对象分片阈值threshold,令存储对象Obj i 的分片个数n i =1并转入步骤5,否则进入步骤3。
步骤3:将大小超过设定对象分片阈值threshold的存储对象Obj i 进行分片,n i 为Obj i 被分片的数量。
步骤 7:根据公式(5)计算存储节点对应的负载率Load i ,将负载率Load i 作为最小负载节点堆TreeMap min 的键,存储节点/>作为值添加进最小负载节点堆TreeMap min ,实现按照负载率Load i 的大小进行升序排序。
若i>n i ,将存储节点OSD i 与最小负载节点堆TreeMap min 的末尾元素比较,淘汰负载率Load i 大的存储节点,将负载率Load i 小的存储节点进堆,并将淘汰的存储节点加入淘汰链表。
如果i=N则转入步骤8;否则i加1,并转入步骤5。
步骤 9:将客户端请求的待存储对象Obj i 分割成n i 片,每一片记为片slice i ,从i=0开始,每次弹出最小负载节点堆TreeMap min 堆顶的储存节点,若该储存节点处于宕机或者不可用状态,将状态码置为false,并转入步骤10。否则将片slice i 存入堆顶的储存节点,i加1。当i=n i 时,转入步骤11。
步骤 10:服务器端接收到状态码,根据公式(6)计算淘汰链表/>中的前k个元素的选取率Prob i ,根据选取率Prob i 随机选取淘汰链表/>中的前k个元素中的一个元素作为片slice i 的存储节点,将片slice i 存入选取的存储节点中,i加1,并返回步骤9。
步骤 11:待存储对象Obj i 存储完成,数据分布流程结束。
实施例2
如图3所示,基于与上述实施例的同一发明构思,本方案提供了一种大数据环境下的数据分布装置,包括:
接收模块,用于接收存储请求;其中,存储请求中包括待存储对象的id和数据大小len i 。
分片模块,用于当待存储对象的数据大小len i 大于预设的设定对象分片阈值threshold时,对待存储对象进行分片;
分片模块中,待存储对象的分片数量按照下式计算:
储存模块,用于计算待存储对象的分片的最优存储节点,将待存储对象的分片存储于最优存储节点中。
储存模块,具体用于:
具体的,额外节点得获取方式如下:
其中,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;
计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中;
所述对所述待存储对象进行分片的步骤中,所述待存储对象的分片数量按照下式计算:
所述计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中的步骤,具体包括如下:
6.一种大数据环境下的数据分布装置,其特征在于,包括:
接收模块,用于接收存储请求;其中,所述存储请求中包括待存储对象的id和数据大小len i;
分片模块,用于当待存储对象的数据大小len i大于预设的设定对象分片阈值threshold时,对所述待存储对象进行分片;
储存模块,用于计算所述待存储对象的分片的最优存储节点,将所述待存储对象的分片存储于所述最优存储节点中;
分片模块中,所述待存储对象的分片数量按照下式计算:
储存模块,具体用于:
7.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至5中任意一项所述的大数据环境下的数据分布方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至5中任意一项所述的大数据环境下的数据分布方法。
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)
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 | 平安壹钱包电子商务有限公司 | 数据存储方法、装置、设备及存储介质 |
-
2023
- 2023-02-27 CN CN202310169831.0A patent/CN115857837B/zh active Active
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 |