CN116166202B - 一种大数据环境下的副本放置方法、装置、设备及介质 - Google Patents
一种大数据环境下的副本放置方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116166202B CN116166202B CN202310329217.6A CN202310329217A CN116166202B CN 116166202 B CN116166202 B CN 116166202B CN 202310329217 A CN202310329217 A CN 202310329217A CN 116166202 B CN116166202 B CN 116166202B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- copy
- room
- storage
- 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 82
- 238000003860 storage Methods 0.000 claims abstract description 161
- 239000013598 vector Substances 0.000 claims description 174
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 abstract description 9
- 238000013507 mapping Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000969729 Apteryx rowi Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据处理技术领域,具体涉及一种大数据环境下的副本放置方法、装置、设备及介质,本发明方法使用集群映射表的分层设计原理,并为数据存储节点设计温度因子值来解决数据分布和负载均衡问题。根据节点权重的大小来选择分支,保证数据副本会放置在不同的故障域中。并根据存储节点的温度因子来判断存储节点是否I/0繁忙。在某个存储节点被写访问时,增加温度值,如果该存储节点短时间内再次被写访问则加快温度值增加速率,认为该存储节点不应该被多次写访问;若存储节点的温度值较低则认为该存储节点可以放置副本,以此来保证集群的负载均衡。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种大数据环境下的副本放置方法、装置、设备及介质。
背景技术
近年来,分布式存储系统得到了迅速的发展并在数据中心中得到了广泛的应用,与传统的单个磁盘及磁盘阵列相比,分布式存储系统能够提供更大的容量、更高的性能以更好的数据安全保证,这些优点使得分布式存储在云计算及大数据处理中起着至关重要的作用。新兴的大型分布式存储系统面临着将PB级的数据分布到数十、数百、甚至数千个存储设备上的问题。这样的系统必须均匀地分布数据和负载,以高效地利用可用资源并最大化系统性能,同时帮助处理增长并管理硬件故障。
在这种系统中,每个文件的数据通常会映射到数量相对少的命名对象中,而命名对象会分布在整个集群中。数据副本分布在多个设备中,以防止故障发生时数据丢失。基于对象的存储系统通过用较小的对象列表替代较大的块列表,以简化数据布局并分摊下层的块分配问题。虽然这通过减少了文件分配的元数据和复杂性大大提高了可伸缩性,但是将数据分布到数千个存储设备上这一基本问题仍然存在。在一个分布式系统中,如果上层应用连续请求一批小文件数据对象,根据数据的空间局部性原理,某个应用连续请求的数据相关性可能会很高,如果把这一组连续存储的数据存放在同一个存储节点上就会造成单节点I/O 繁忙,影响集群的负载均衡。
发明内容
本发明的目的在于提供一种大数据环境下的副本放置方法、装置、设备及介质,使用集群映射表的分层设计解决数据分布和负载均衡问题。在如何选择分支的策略上不但考虑了权重同时考虑了温度因子,保证集群中每个存储节点所存储的数据量相对平均。
为了实现上述目的,本发明采用如下技术方案:
第一方面,提供了一种大数据环境下的副本放置方法,包括如下步骤:
获取预设的副本集合,副本集合中副本的编号依次为r 1~r num;
获取预设的存储节点树形结构;其中,存储节点树形结构包括数据中心节点及数据中心节点的子节点,子节点的类型包括机房节点room、机架节点row和服务器节点host;
开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重;选择类型为机房节点room且加权权重最大的子节点,并判断选择出的子节点是否过载;若不过载,将选择出的子节点加入输出向量O room中;对副本集合中的所有副本执行本步骤,直至所有的副本选择结束;得到一个元素节点类型为机房节点room的输出向量O room;将输出向量O room赋给输入向量I room;
对于输入向量I room中的一个节点room i,分别计算节点room i的所有子节点的加权权重,将加权权重最大且类型为机架节点row的子节点加入到输出向量O row中;对输入向量I room中的全部节点执行本步骤,直至输入向量I room中的所有节点选择结束;将输出向量O row赋给输入向量I row;
对于输入向量I row中的一个节点row i,分别计算节点row i的所有子节点的加权权重,将加权权重最大且类型为服务器节点host的子节点加入到输出向量O host中;对输入向量I row中的全部节点执行本步骤,直至输入向量I row中的所有节点选择结束;将输出向量O host赋给输入向量I host;
对于输入向量I host中的一个节点host i,分别计算节点host i下的所有存储节点的加权权重,依据加权权重的大小将节点host i下的所有存储节点加入一个节点队列Queue hosti;将每个节点host i所对应的节点队列Queue hosti的队首出队,计算每个队首当前的温度值,将温度值小于预设的最大温度值的队首加入到输出向量O osd中;
向输出向量O osd中的所有存储节点写入副本,完成副本放置。
进一步的,在开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重的步骤中,按照下式计算数据中心节点的子节点的加权权重:
其中,bucket iw表示数据中心节点的子节点的加权权重;pid表示obj oid对象所对应的PG编号;r i表示当前副本编号;try i表示当前副本编号r i的副本选择尝试次数;表示第二虚拟节点bucket i当前对应的存储容量。
进一步的,obj oid对象所对应的PG编号pid按照下式计算:
式中,oid表示obj oid对象的编号;表示第一虚拟节点集合PG中第一虚拟节点的数量。
进一步的,第一虚拟节点集合PG中第一虚拟节点的数量按照下式计算:
式中,osdnum表示存储节点集合OSD中存储节点的数量;表示每个存储节点对应的第一虚拟节点数目;表示副本集合中副本的数量。
进一步的,在分别计算节点host i下的所有存储节点的加权权重的步骤中,按照下式计算节点host i下存储节点的加权权重:
式中,表示节点下的存储节点的加权权重;表示对象所对应的编号;表示当前副本编号;表示当前副本编号的副本选择尝试次数;.表示存储节点当前对应的存储容量。
进一步的,在计算每个队首的温度值的步骤中,按照下式计算温度值:
其中,表示当前温度值;表示上一次请求时该节点的温度值;表示此刻时间;为存储节点上次进行数据写入的时刻;为存储节点温度下降速率;表示温度上升速率;表示集群的心跳间隔;表示集群总的吞吐量;表示使用温度因子的最大数据对象大小。
进一步的,在向输出向量O osd中的所有存储节点写入当前副本,完成副本放置的步骤之后,还包括步骤:对于写入当前副本后的存储节点,更新温度值。
第二方面,提供了一种分布式系统的副本放置装置,包括:
第一获取模块,用于获取预设的存储节点树形结构;其中,存储节点树形结构包括数据中心节点及数据中心节点的子节点,子节点的类型包括机房节点room、机架节点row和服务器节点host;
第二获取模块,用于获取预设的副本集合,副本集合中副本的编号依次为r 1~r num;
第一判断模块,用于开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重;选择类型为机房节点room且加权权重最大的子节点,并判断选择出的子节点是否过载;若不过载,将选择出的子节点加入输出向量O room中;对副本集合中的所有副本执行本步骤,直至所有的副本选择结束;得到一个元素节点类型为机房节点room的输出向量O room;将输出向量O room赋给输入向量I room;
第一计算模块,用于对于输入向量I room中的一个节点room i,分别计算节点room i的所有子节点的加权权重,将加权权重最大且类型为机架节点row的子节点加入到输出向量O row中;对输入向量I room中的全部节点执行本步骤,直至输入向量I room中的所有节点选择结束;将输出向量O row赋给输入向量I row;
第二计算模块,用于对于输入向量I row中的一个节点row i,分别计算节点row i的所有子节点的加权权重,将加权权重最大且类型为服务器节点host的子节点加入到输出向量O host中;对输入向量I row中的全部节点执行本步骤,直至输入向量I row中的所有节点选择结束;将输出向量O host赋给输入向量I host;
第三计算模块,用于对于输入向量I host中的一个节点host i,分别计算节点host i下的所有存储节点的加权权重,依据加权权重的大小将节点host i下的所有存储节点加入一个节点队列Queue hosti;将每个节点host i所对应的节点队列Queue hosti的队首出队,计算每个队首当前的温度值,将温度值小于预设的最大温度值的队首加入到输出向量O osd中;
写入模块,用于向输出向量O osd中的所有存储节点写入副本,完成副本放置。
第三方面,提供了一种电子设备,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如上述的大数据环境下的副本放置方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如上述的大数据环境下的副本放置方法。
本发明的有益效果如下:
本发明提供的分布副本放置方法,将文件的副本放置在不同的故障域中,当某副本丢失,可从其他域中副本放置的存储节点中找回丢失的数据,保证了数据的安全性。同时,为存储节点设置温度因子值,防止某存储节点I/O繁忙,保证了集群的负载均衡。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一种大数据环境下的副本放置方法流程示意图;
图2为本发明实施例一种大数据环境下的副本放置装置的结构框图;
图3为本发明一种电子设备的结构框图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
实施例1
如图1所示,本发明实施例提供了一种大数据环境下的副本放置方法,包括如下步骤:
S1、获取预设的副本集合,副本集合中副本的编号依次为r 1~r num。
具体的,本方案中将要进行副本放置的文件分成若干个大小为的对象,定义对象集合。
对于对象集合中的一个对象,其副本集合。
定义存储节点集合,根据集群规模大小设定每个存储节点对应的第一虚拟节点数目为。定义第一虚拟节点集合;其中,第一虚拟节点用于对象映射。
根据下式计算得到对象映射所需要的第一虚拟节点的总数目。
式中,表示第一虚拟节点集合中第一虚拟节点的数量,即对象映射所需要的第一虚拟节点的总数目;表示存储节点集合中存储节点的数量;表示每个存储节点对应的第一虚拟节点数目;表示副本集合中副本的数量。
根据下式将每一个对象映射到一个第一虚拟节点,得到对象所对应的第一虚拟节点的编号。
式中,表示对象所对应的第一虚拟节点的编号;表示对象的编号。
S2、获取预设的存储节点树形结构;其中,存储节点树形结构包括数据中心节点及数据中心节点的子节点,子节点的类型包括机房节点room、机架节点row和服务器节点host。
具体的,在该存储节点树形结构中定义第二虚拟节点集合;其中,每一个第二虚拟节点有其对应的类型;例如,类型为表示服务器节点,类型为表示机架节点,类型为表示机房节点,类型为表示数据中心节点。多个存储节点,作为类型为的第二虚拟节点的子节点;多个类型为的第二虚拟节点,作为类型为的第二虚拟节点的子节点;多个类型为的第二虚拟节点,作为类型为的第二虚拟节点的子节点;若干个类型为的第二虚拟节点,作为唯一一个类型为的第二虚拟节点的子节点。
同时,获取并设置每一个存储节点当前对应的存储容量.,计算并设置第二虚拟节点当前对应的存储容量。
S3、开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重;选择类型为机房节点room且加权权重最大的子节点,并判断选择出的子节点是否过载;若不过载,将选择出的子节点加入输出向量O room中;对副本集合中的所有副本执行本步骤,直至所有的副本选择结束;得到一个元素节点类型为机房节点room的输出向量O room;将输出向量O room赋给输入向量I room。
具体的,首先,预设所有副本放置的最大尝试次数为。设置当前副本编号为,其副本选择尝试次数置为1,从编号为的副本开始,依次进行副本选择。当进行副本选择时,首先判断当前副本编号的副本选择尝试次数是否大于最大尝试次数,若小于,遍历类型为的第二虚拟节点的所有子节点,根据第一虚拟节点的编号、当前副本编号算出所有子节点的加权权重,选择加权权重最大的子节点;若大于最大尝试次数,当前副本选择失败,放弃副本,进行下一个副本的放置选择。
选出加权权重最大的子节点之后,判断选择出的子节点的节点类型是否为。若是,判断选择出的子节点是否已经加入输出向量中,若已加入,则将编号的副本的副本选择尝试次数值加1,再次根据加权权重进行新的子节点选择;若未加入,判断选择出的子节点是否过载,若过载,则将当前副本选择尝试次数值加1,再次根据加权权重进行新的子节点选择,否则将选择出的子节点加入输出向量中。
所有副本选择结束后,得到一个元素节点类型为的输出向量,将输出向量赋给输入向量,并将输出向量置空。
进一步具体的,按照下式计算数据中心节点的子节点的加权权重:
式中,表示类型为的第二虚拟节点的子节点的加权权重;表示当前副本编号;表示编号为的副本的副本选择尝试次数;表示第二虚拟节点当前对应的存储容量。
S4、对于输入向量I room中的一个节点room i,分别计算节点room i的所有子节点的加权权重,将加权权重最大且类型为机架节点row的子节点加入到输出向量O row中;对输入向量I room中的全部节点执行本步骤,直至输入向量I room中的所有节点选择结束;将输出向量O row赋给输入向量I row。
具体的,输入向量。依次对输入向量中的每一个节点进行子节点选择,遍历节点的所有子节点,并计算其加权权重,根据加权权重的大小依次将所对应的子节点加入节点队列中,将节点队列队首节点出队,并判断子节点类型是否为,若是,将其加入输出向量中,若不是,节点队列队首节点继续出队,直至选出类型为的子节点。待所有节点选择结束,将输出向量赋给输入向量,并将输出向量置空。
S5、对于输入向量I row中的一个节点row i,分别计算节点row i的所有子节点的加权权重,将加权权重最大且类型为服务器节点host的子节点加入到输出向量O host中;对输入向量I row中的全部节点执行本步骤,直至输入向量I row中的所有节点选择结束;将输出向量O host赋给输入向量I host。
具体的,输入向量。对输入向量中的每一个节点进行子节点选择,遍历节点的所有子节点,计算其加权权重,并根据加权权重的大小依次将所对应的子节点加入节点队列中,将节点队列队首节点出队并判断节点类型是否为,若是,将其加入输出向量中,若不是,节点队列中新的队首节点继续出队,直至选出类型为的子节点。待所有节点选择结束,将输出向量赋给输入向量,并将输出向量置空。
S6、对于输入向量I host中的一个节点host i,分别计算节点host i下的所有存储节点的加权权重,依据加权权重的大小将节点host i下的所有存储节点加入一个节点队列Queue hosti;将每个节点host i所对应的节点队列Queue hosti的队首出队,计算每个队首当前的温度值,将温度值小于预设的最大温度值的队首加入到输出向量O osd中。
具体的,初始化集群所有存储节点的温度值为0,设置所有存储节点的温度值最大为,初始化温度值队列为空。
具体的,输入向量。遍历输入向量中的子节点,计算出子节点下的所有存储节点的加权权重,并根据加权权重值的大小依次将所对应的存储节点加入一个节点队列中,每个子节点对应一个节点队列。节点队列的队首节点是加权权重最大的存储节点。
将节点下的存储节点加入温度值队列。每一个节点host i对应有一个温度值队列Queue i。
将节点队列队首的存储节点出队,并计算温度值队列中的所有存储节点的温度值,将所有温度值小于最大温度值的存储节点出队,判断节点队列出队的存储节点是否在温度值队列中,若在,继续将节点队列队首的存储节点出队,若不在,将其加入输出向量中。
进一步具体的,按照下式计算节点host i下存储节点的加权权重:
式中,表示节点下的存储节点的加权权重。
具体的,按照下式计算温度值:
其中,表示上一次请求时该节点的温度值;表示此刻时间;为存储节点上次进行数据写入的时刻;为存储节点温度下降速率;表示温度上升速率;表示集群的心跳间隔,这里表示温度值下降的周期;表示集群总的吞吐量;表示使用温度因子的最大数据对象大小()。
S7、向输出向量O osd中的所有存储节点写入副本,完成副本放置。
具体的,需要将输入向量中的节点全部遍历,遍历结束后,向输出向量中的所有存储节点写入副本的数据,完成副本放置。
优选实施例中,在完成副本放置后,还包括步骤:对于写入当前副本后的存储节点,更新温度值。
具体的,可以根据下式更新存储节点的新温度值:
将新温度值大于的存储节点入温度值队列中。并将存储节点的新温度值赋给存储节点所对应的温度值。
本方案的另一个方面,还提供了一种大数据环境下的副本放置方法,包括如下步骤:
步骤1:将要进行副本放置的文件分成若干个大小为的对象,定义对象集合。
对于对象集合中的一个对象,其副本集合。
定义第一虚拟节点集合;其中,第一虚拟节点用于对象映射。
定义存储节点集合,根据集群规模大小设定每个存储节点对应的第一虚拟节点数目为。
根据公式(1)计算出对象映射所需要的第一虚拟节点的总数目。
(1)
式中,表示第一虚拟节点集合中第一虚拟节点的数量,即对象映射所需要的第一虚拟节点的总数目;表示存储节点集合中存储节点的数量;表示每个存储节点对应的第一虚拟节点数目;表示副本集合中副本的数量。
根据公式(2)将每一个对象映射到一个第一虚拟节点,得到对象所对应的第一虚拟节点的编号。
(2)
式中,表示对象所对应的第一虚拟节点的编号;表示对象的编号。
步骤2:定义第二虚拟节点集合,其中,每一个第二虚拟节点有其对应的类型;例如,类型为表示服务器节点,类型为表示机架节点,类型为表示机房节点,类型为表示数据中心节点。
多个存储节点,作为类型为的第二虚拟节点的子节点;多个类型为的第二虚拟节点,作为类型为的第二虚拟节点的子节点;多个类型为的第二虚拟节点,作为类型为的第二虚拟节点的子节点;若干个类型为的第二虚拟节点,作为唯一一个类型为的第二虚拟节点的子节点。
步骤3:获取并设置每一个存储节点当前对应的存储容量.,计算并设置第二虚拟节点当前对应的存储容量。
步骤4:设置所有副本放置的最大尝试次数。设置当前副本编号为,其副本选择尝试次数置为1,从编号为的副本开始,依次进行副本选择。
进行副本选择时,首先判断当前副本编号的副本选择尝试次数是否大于最大尝试次数,若大于,当前副本选择失败,放弃副本,进入步骤6。
若小于,遍历类型为的第二虚拟节点的所有子节点,根据第一虚拟节点的编号、当前副本编号以及公式(3)算出所有子节点的加权权重,选择加权权重最大的子节点。
(3)
式中,表示类型为的第二虚拟节点的子节点的加权权重;表示当前副本编号;表示编号为的副本的副本选择尝试次数;表示第二虚拟节点当前对应的存储容量。
步骤5:判断步骤4选择出的子节点的节点类型是否为。若是,判断步骤4选择出的子节点是否已经加入输出向量中,若已加入,则将编号的副本的副本选择尝试次数值加1,回到步骤4;若未加入,判断步骤4选择出的子节点是否过载,若过载,则将当前副本选择尝试次数值加1,回到步骤4,否则将选择出的子节点加入输出向量中。
步骤6:判断当前副本编号是否小于,若小于,将当前副本编号值加1,并将当前副本的副本选择尝试次数值重置为1,跳转到步骤4进行下一个副本选择;若不小于,所有副本选择结束,得到一个元素节点类型为的输出向量,将输出向量赋给输入向量,并将输出向量置空。
步骤7:依次对输入向量中的每一个节点进行子节点选择,遍历节点的所有子节点,根据公式(3)计算其加权权重,并根据加权权重的大小依次将所对应的子节点加入节点队列中,将节点队列队首节点出队,并判断子节点类型是否为,若是,将其加入输出向量中,若不是,节点队列中队首节点继续出队。待所有节点选择结束,将输出向量赋给输入向量,并将输出向量置空。
步骤8:继续对输入向量中的每一个节点进行子节点选择,遍历节点的所有子节点,根据公式(3)计算其加权权重,并根据加权权重的大小依次将所对应的子节点加入节点队列中,将节点队列队首节点出队并判断节点类型是否为,若是,将其加入输出向量中,若不是,节点队列中队首节点继续出队。待所有节点选择结束,将输出向量赋给输入向量,并将输出向量置空。
步骤9:初始化集群所有存储节点的温度值为0,设置所有存储节点的最大温度值为,初始化温度值队列为空。
步骤10:遍历输入向量中的节点,并根据公式(4)计算出节点下的所有存储节点的加权权重,并根据加权权重值的大小依次将所对应的存储节点加入节点队列中。节点队列的队首节点是加权权重最大的存储节点。
(4)
式中,表示节点下的存储节点的加权权重。
步骤11:将节点下的存储节点加入温度值队列。每一个节点host i对应有一个温度值队列Queue i。
将节点队列队首的存储节点出队,并根据公式(5)、公式(6)计算温度值队列中的所有存储节点的温度值,将所有温度值小于最大温度值的存储节点出队,判断节点队列出队的存储节点是否在温度值队列中,若在,继续将节点队列中的当前队首出队,若不在,将其加入输出向量中。
(5)
(6)
其中,表示当前温度值;
表示上一次请求时该节点的温度值;
表示此刻时间;
为存储节点上次进行数据写入的时刻;
为存储节点温度下降速率;
表示温度上升速率;
表示集群的心跳间隔,这里表示温度值下降的周期;
表示集群总的吞吐量;
表示使用温度因子的最大数据对象大小()。
步骤12:判断输入向量中的节点是否遍历结束,若没有,回到步骤10,若遍历结束则向输出向量中的所有存储节点写入数据。并根据公式(7)更新存储节点的新温度值。将新温度值大于的存储节点入温度值队列中。并将存储节点的新温度值赋给存储节点所对应的温度值。
(7)
其中,表示当前温度值;
表示上一次请求时该节点的温度值;
表示温度上升速率。
本发明所提供的副本放置方法,使用集群映射表的分层设计原理,并为数据存储节点设计温度因子值来解决数据分布和负载均衡问题。根据节点权重的大小来选择分支,保证数据副本会放置在不同的故障域中。并根据存储节点的温度因子来判断存储节点是否I/0繁忙。在某个存储节点被写访问时,增加温度值,如果该存储节点短时间内再次被写访问则加快温度值增加速率,认为该存储节点不应该被多次写访问;若存储节点的温度值较低则认为该存储节点可以放置副本,以此来保证集群的负载均衡。
实施例2
如图2所示,基于与上述实施例的同一发明构思,本实施例2还提供了一种大数据环境下的副本放置装置,包括:
第一获取模块,用于获取预设的存储节点树形结构;其中,存储节点树形结构包括数据中心节点及数据中心节点的子节点,子节点的类型包括机房节点room、机架节点row和服务器节点host;
第二获取模块,用于获取预设的副本集合,副本集合中副本的编号依次为r 1~r num;
第一判断模块,用于开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重;选择类型为机房节点room且加权权重最大的子节点,并判断选择出的子节点是否过载;若不过载,将选择出的子节点加入输出向量O room中;对副本集合中的所有副本执行本步骤,直至所有的副本选择结束;得到一个元素节点类型为机房节点room的输出向量O room;将输出向量O room赋给输入向量I room;
第一计算模块,用于对于输入向量I room中的一个节点room i,分别计算节点room i的所有子节点的加权权重,将加权权重最大且类型为机架节点row的子节点加入到输出向量O row中;对输入向量I room中的全部节点执行本步骤,直至输入向量I room中的所有节点选择结束;将输出向量O row赋给输入向量I row;
第二计算模块,用于对于输入向量I row中的一个节点row i,分别计算节点row i的所有子节点的加权权重,将加权权重最大且类型为服务器节点host的子节点加入到输出向量O host中;对输入向量I row中的全部节点执行本步骤,直至输入向量I row中的所有节点选择结束;将输出向量O host赋给输入向量I host;
第三计算模块,用于对于输入向量I host中的一个节点host i,分别计算节点host i下的所有存储节点的加权权重,依据加权权重的大小将节点host i下的所有存储节点加入一个节点队列Queue hosti;将每个节点host i所对应的节点队列Queue hosti的队首出队,计算每个队首当前的温度值,将温度值小于预设的最大温度值的队首加入到输出向量O osd中;
写入模块,用于向输出向量O osd中的所有存储节点写入副本,完成副本放置。
实施例3
如图3所示,本发明还提供一种用于实现上述实施例大数据环境下的副本放置方法的电子设备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可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以是微处理器或者该处理器102也可以是任何常规的处理器等,处理器102是电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。
电子设备100中的存储器101存储多个指令以实现一种大数据环境下的副本放置方法,处理器102可执行多个指令从而实现:
获取预设的副本集合,副本集合中副本的编号依次为r 1~r num;
获取预设的存储节点树形结构;其中,存储节点树形结构包括数据中心节点及数据中心节点的子节点,子节点的类型包括机房节点room、机架节点row和服务器节点host;
开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重;选择类型为机房节点room且加权权重最大的子节点,并判断选择出的子节点是否过载;若不过载,将选择出的子节点加入输出向量O room中;对副本集合中的所有副本执行本步骤,直至所有的副本选择结束;得到一个元素节点类型为机房节点room的输出向量O room;将输出向量O room赋给输入向量I room;
对于输入向量I room中的一个节点room i,分别计算节点room i的所有子节点的加权权重,将加权权重最大且类型为机架节点row的子节点加入到输出向量O row中;对输入向量I room中的全部节点执行本步骤,直至输入向量I room中的所有节点选择结束;将输出向量O row赋给输入向量I row;
对于输入向量I row中的一个节点row i,分别计算节点row i的所有子节点的加权权重,将加权权重最大且类型为服务器节点host的子节点加入到输出向量O host中;对输入向量I row中的全部节点执行本步骤,直至输入向量I row中的所有节点选择结束;将输出向量O host赋给输入向量I host;
对于输入向量I host中的一个节点host i,分别计算节点host i下的所有存储节点的加权权重,依据加权权重的大小将节点host i下的所有存储节点加入一个节点队列Queue hosti;将每个节点host i所对应的节点队列Queue hosti的队首出队,计算每个队首当前的温度值,将温度值小于预设的最大温度值的队首加入到输出向量O osd中;
向输出向量O osd中的所有存储节点写入副本,完成副本放置。
实施例4
电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器及只读存储器(ROM,Read-Only Memory)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (7)
1.一种大数据环境下的副本放置方法,其特征在于,包括如下步骤:
获取预设的副本集合,副本集合中副本的编号依次为r 1~r num;
获取预设的存储节点树形结构;其中,存储节点树形结构包括数据中心节点及数据中心节点的子节点,子节点的类型包括机房节点room、机架节点row和服务器节点host;
开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重;选择类型为机房节点room且加权权重最大的子节点,并判断选择出的子节点是否过载;若不过载,将选择出的子节点加入输出向量O room中;对副本集合中的所有副本执行本步骤,直至所有的副本选择结束;得到一个元素节点类型为机房节点room的输出向量O room;将输出向量O room赋给输入向量I room;
对于输入向量I room中的一个节点room i,分别计算节点room i的所有子节点的加权权重,将加权权重最大且类型为机架节点row的子节点加入到输出向量O row中;对输入向量I room中的全部节点执行本步骤,直至输入向量I room中的所有节点选择结束;将输出向量O row赋给输入向量I row;
对于输入向量I row中的一个节点row i,分别计算节点row i的所有子节点的加权权重,将加权权重最大且类型为服务器节点host的子节点加入到输出向量O host中;对输入向量I row中的全部节点执行本步骤,直至输入向量I row中的所有节点选择结束;将输出向量O host赋给输入向量I host;
对于输入向量I host中的一个节点host i,分别计算节点host i下的所有存储节点的加权权重,依据加权权重的大小将节点host i下的所有存储节点加入一个节点队列Queue hosti;将每个节点host i所对应的节点队列Queue hosti的队首出队,计算每个队首当前的温度值,将温度值小于预设的最大温度值的队首加入到输出向量O osd中;
向输出向量O osd中的所有存储节点写入副本,完成副本放置;
在开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重的步骤中,按照下式计算数据中心节点的子节点的加权权重:
其中,bucket iw表示数据中心节点的子节点的加权权重;pid表示obj oid对象所对应的PG编号;r i表示当前副本编号;try i表示当前副本编号r i的副本选择尝试次数;表示第二虚拟节点bucket i当前对应的存储容量;
obj oid对象所对应的PG编号pid按照下式计算:
式中,oid表示obj oid对象的编号;表示第一虚拟节点集合PG中第一虚拟节点的数量;
第一虚拟节点集合PG中第一虚拟节点的数量按照下式计算:
式中,osdnum表示存储节点集合OSD中存储节点的数量;表示每个存储节点对应的第一虚拟节点数目;表示副本集合中副本的数量。
2.根据权利要求1所述的大数据环境下的副本放置方法,其特征在于,在分别计算节点host i下的所有存储节点的加权权重的步骤中,按照下式计算节点host i下存储节点的加权权重:
式中,表示节点下的存储节点的加权权重;表示对象所对应的编号;表示当前副本编号;表示当前副本编号的副本选择尝试次数;.表示存储节点当前对应的存储容量。
3.根据权利要求1所述的大数据环境下的副本放置方法,其特征在于,在计算每个队首的温度值的步骤中,按照下式计算温度值:
其中,表示当前温度值;表示上一次请求时该节点的温度值;表示此刻时间;为存储节点上次进行数据写入的时刻;为存储节点温度下降速率;表示温度上升速率;表示集群的心跳间隔;表示集群总的吞吐量;表示使用温度因子的最大数据对象大小。
4.根据权利要求1所述的大数据环境下的副本放置方法,其特征在于,在向输出向量O osd中的所有存储节点写入当前副本,完成副本放置的步骤之后,还包括步骤:对于写入当前副本后的存储节点,更新温度值。
5.一种分布式系统的副本放置装置,其特征在于,包括:
第一获取模块,用于获取预设的存储节点树形结构;其中,存储节点树形结构包括数据中心节点及数据中心节点的子节点,子节点的类型包括机房节点room、机架节点row和服务器节点host;
第二获取模块,用于获取预设的副本集合,副本集合中副本的编号依次为r 1~r num;
第一判断模块,用于开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重;选择类型为机房节点room且加权权重最大的子节点,并判断选择出的子节点是否过载;若不过载,将选择出的子节点加入输出向量O room中;对副本集合中的所有副本执行本步骤,直至所有的副本选择结束;得到一个元素节点类型为机房节点room的输出向量O room;将输出向量O room赋给输入向量I room;
第一计算模块,用于对于输入向量I room中的一个节点room i,分别计算节点room i的所有子节点的加权权重,将加权权重最大且类型为机架节点row的子节点加入到输出向量O row中;对输入向量I room中的全部节点执行本步骤,直至输入向量I room中的所有节点选择结束;将输出向量O row赋给输入向量I row;
第二计算模块,用于对于输入向量I row中的一个节点row i,分别计算节点row i的所有子节点的加权权重,将加权权重最大且类型为服务器节点host的子节点加入到输出向量O host中;对输入向量I row中的全部节点执行本步骤,直至输入向量I row中的所有节点选择结束;将输出向量O host赋给输入向量I host;
第三计算模块,用于对于输入向量I host中的一个节点host i,分别计算节点host i下的所有存储节点的加权权重,依据加权权重的大小将节点host i下的所有存储节点加入一个节点队列Queue hosti;将每个节点host i所对应的节点队列Queue hosti的队首出队,计算每个队首当前的温度值,将温度值小于预设的最大温度值的队首加入到输出向量O osd中;
写入模块,用于向输出向量O osd中的所有存储节点写入副本,完成副本放置;
在开始副本选择,判断当前副本的副本选择尝试次数是否大于预设的最大尝试次数,若小于,则分别计算数据中心节点的每个子节点的加权权重的步骤中,按照下式计算数据中心节点的子节点的加权权重:
其中,bucket iw表示数据中心节点的子节点的加权权重;pid表示obj oid对象所对应的PG编号;r i表示当前副本编号;try i表示当前副本编号r i的副本选择尝试次数;表示第二虚拟节点bucket i当前对应的存储容量;
obj oid对象所对应的PG编号pid按照下式计算:
式中,oid表示obj oid对象的编号;表示第一虚拟节点集合PG中第一虚拟节点的数量;
第一虚拟节点集合PG中第一虚拟节点的数量按照下式计算:
式中,osdnum表示存储节点集合OSD中存储节点的数量;表示每个存储节点对应的第一虚拟节点数目;表示副本集合中副本的数量。
6.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至4中任意一项所述的大数据环境下的副本放置方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至4中任意一项所述的大数据环境下的副本放置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310329217.6A CN116166202B (zh) | 2023-03-30 | 2023-03-30 | 一种大数据环境下的副本放置方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310329217.6A CN116166202B (zh) | 2023-03-30 | 2023-03-30 | 一种大数据环境下的副本放置方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116166202A CN116166202A (zh) | 2023-05-26 |
CN116166202B true CN116166202B (zh) | 2023-07-21 |
Family
ID=86420251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310329217.6A Active CN116166202B (zh) | 2023-03-30 | 2023-03-30 | 一种大数据环境下的副本放置方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166202B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634401B (zh) * | 2013-12-03 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种存储数据副本的方法和终端装置以及服务器装置 |
US11086614B1 (en) * | 2020-01-31 | 2021-08-10 | Automation Anywhere, Inc. | Robotic process automation system with distributed download |
CN114466030B (zh) * | 2021-12-27 | 2024-03-12 | 天翼云科技有限公司 | 数据分布存储策略的管理方法、装置及分布式存储系统 |
CN115604269A (zh) * | 2022-10-14 | 2023-01-13 | 中国农业银行股份有限公司(Cn) | 一种服务器的负载均衡方法、装置、电子设备及存储介质 |
-
2023
- 2023-03-30 CN CN202310329217.6A patent/CN116166202B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116166202A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990561B2 (en) | Parameter server and method for sharing distributed deep learning parameter using the same | |
US11150960B2 (en) | Distributed application allocation and communication | |
US11775354B2 (en) | Reducing overlay network overhead across container hosts | |
CN106027643B (zh) | 一种基于Kubernetes容器集群管理系统的资源调度方法 | |
Bryk et al. | Storage-aware algorithms for scheduling of workflow ensembles in clouds | |
US20130151707A1 (en) | Scalable scheduling for distributed data processing | |
US11436217B2 (en) | Ordered append-only log based data storage | |
TWI786564B (zh) | 任務調度方法和裝置、儲存媒體及計算機設備 | |
US20200311142A1 (en) | Spatial Indexing | |
CN106412124B (zh) | 一种并序化云服务平台任务分配系统及任务分配方法 | |
US20210303978A1 (en) | Load balancing for memory channel controllers | |
CN110321331A (zh) | 利用多级散列函数来确定存储地址的对象存储系统 | |
CN104461739B (zh) | 一种基于cloudsim平台的虚拟机批量部署方法 | |
US20170083375A1 (en) | Thread performance optimization | |
CN109960579A (zh) | 一种调整业务容器的方法及装置 | |
CN116166202B (zh) | 一种大数据环境下的副本放置方法、装置、设备及介质 | |
TWI758223B (zh) | 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體 | |
WO2020198724A1 (en) | Low-latency, distributed application for interactive worlds | |
CN109617954B (zh) | 一种创建云主机的方法和装置 | |
CN111695588B (zh) | 一种基于云计算的分布式决策树学习系统 | |
CN114138484A (zh) | 资源分配方法、装置以及介质 | |
CN117112145B (zh) | 训练模型分配方法、装置、计算机设备和存储介质 | |
US11983128B1 (en) | Multidimensional and multiblock tensorized direct memory access descriptors | |
US10402514B2 (en) | Modeling and simulation of distributed computing frameworks | |
WO2023104200A1 (en) | Systems, apparatuses, methods, and non-transitory computer-readable storage devices for artificial-intelligence model training using hybrid shuffling of training data |
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 |