CN114461369B - 一种面向复杂应用场景的自适应数据调度系统及方法 - Google Patents
一种面向复杂应用场景的自适应数据调度系统及方法 Download PDFInfo
- Publication number
- CN114461369B CN114461369B CN202210376827.7A CN202210376827A CN114461369B CN 114461369 B CN114461369 B CN 114461369B CN 202210376827 A CN202210376827 A CN 202210376827A CN 114461369 B CN114461369 B CN 114461369B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- migrated
- sending
- migration
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据迁移技术领域,提供了一种面向复杂应用场景的自适应数据调度系统及方法,根据影响迁移作业因素以及针对数据的特征自动调整调度策略,分为:数据源负载均衡策略、数据文件热度策略以及数据文件合并拆解策略,首先达到数据源的负载均衡化以及作为数据流转迁移任务的高并发基础,而后将根据数据文件的特征自适应的调整选取对应的策略,针对不同类型海量数据作业的流转迁移处理要求,实现异构存储系统之间数据快速迁移的高要求、大带宽的高速传输网络的高要求。
Description
技术领域
本发明属于数据迁移技术领域,尤其涉及一种面向复杂应用场景的自适应数据调度系统及方法。
背景技术
随着近年来大数据、人工智能、高性能计算等领域的发展,“大计算”遇上了“大数据”,这使得目前超算(数据中心)的应用场景正由高性能计算(High PerformanceComputing ,HPC)加速迈向高性能数据分析(High Performance Data Analysis,HPDA),HPDA过程中的两个基本特征是超算和数据密集型应用。其中数据密集型应用因其数据与业务的耦合度不断增加,这使得应用的数据量级达到PB级以上且应用场景类型也变得更加复杂,这进一步导致大量不同的应用数据需要满足在不同的业务场景之中,在异构的存储系统中进行处理和迁移。
在复杂的业务场景下,应用过程中不同的数据所需存储系统不同,而且数据种类、数量会日益繁多、范围尺度会越来越大,针对不同类型海量数据作业的流转迁移处理任务,无法达到任务处理过程中所需的异构存储系统之间数据快速迁移的高要求、大带宽的高速传输网络的高要求。
发明内容
为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种面向复杂应用场景的自适应数据调度系统及方法,其根据影响迁移作业因素以及针对数据的特征自动调整调度策略,可具体分为:数据源负载均衡策略(DSLB)、数据文件热度策略(FHP)以及数据文件合并拆解策略(FMDP),该系统及方法首先根据数据迁移作业的影响因素采用数据源负载均衡策略以达到数据源的负载均衡化以及作为数据流转迁移任务的高并发基础,而后将根据数据文件的特征自适应的调整选取对应的策略,最终以满足异构存储系统之间数据快速迁移的高要求、大带宽的高速传输网络的高要求。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种面向复杂应用场景的自适应数据调度系统,包括:多个数据中心集群,每个数据中心集群中均包括元数据服务器和调度器;所述调度器包括负载均衡化处理模块、动态调度模块以及数据迁移模块;
所述负载均衡化处理模块,包括多个负载均衡化处理子模块,被配置为:以数据流转迁移作业总时间最短为目标,结合影响数据迁移作业的因素和多个负载均衡化处理子模块,将待迁移数据源改造为待迁移分布式数据源后均匀分发到各发送节点上;
所述动态调度模块,被配置为:接收元数据服务器中所读取的各发送节点上待迁移数据源的文件属性特征,将文件的属性特征与自定义阈值进行比较,根据比较结果自适应的执行数据文件合并拆解子模块或数据文件热度子模块;
所述数据迁移模块,被配置为:将执行完相应调度模块的待迁移数据文件作为任务分配给各个发送节点,发送节点将根据数据流转迁移作业队列中的迁移任务序列执行数据的迁移,将数据发送到目标集群的数据接收节点中。
本发明的第二个方面提供一种面向复杂应用场景的自适应数据调度方法,包括如下步骤:
以数据流转迁移作业的总时间最短为目标,结合影响数据迁移作业的因素数据源负载均衡策略,将待迁移数据源改造为待迁移分布式数据源后均匀分发到各发送节点上;
接收各发送节点上待迁移数据源的文件属性特征,根据文件属性特征和自定义阈值的比较结果,对待迁移数据文件自适应执行数据文件合并拆解调度策略或数据文件热度调度策略;
将执行完相应调度策略的待迁移数据文件分配给各个发送节点,发送节点根据数据流转迁移作业队列所分配的迁移任务执行数据的迁移,将数据发送到目标集群的数据接收节点中。
与现有技术相比,本发明的有益效果是:
本发明的数据调度方法支持基于负载、数据量、性能和带宽等要素的数据流转策略,并可通过读取待迁移数据的数据特征来动态调整迁移策略。
本发明基于负载、数据量、性能等影响数据流转迁移作业的因素,通过对待迁移数据源的数据进行负载均衡化处理,使得每个发送节点所需发送的数据量负载相对于其性能保持均衡性,从而达到数据源的负载均衡以及为后续迁移作业的高并发性提供基础,随后,通过下发调度节点任务的方式实现多数据流转节点间的高速并发迁移和多存储系统的数据流动,为应用的计算环境提供了无感知数据供给。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1 为本发明实施例一数据中心集群异构存储示意图;
图2 为本发明实施例一数据中心数据流转调度作业示例图;
图3 为本发明实施例一数据流转节点的网络架构示意图;
图4 为本发明实施例一的跨地域数据中心数据流转调度作业示例图;
图5 为本发明实施例二的自适应数据流转调度作业总体业务流程图;
图6 为本发明实施例二数据源负载均衡策略流程图;
图7 为本发明实施例二数据文件热度策略、数据文件合并拆解策略流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
如图1-图4所示,本实施例提供一种面向复杂应用场景的自适应数据调度系统,包括:多个数据中心集群,每个数据中心集群中均包括元数据服务器和调度器;所述调度器中包括负载均衡化处理模块、动态调度模块以及数据迁移模块;
如图1所示是数据中心集群异构存储示意图,表示数据中心如(超算中心)包括多个不同的集群,不同的集群会采用不同的存储系统以适应如今各种复杂的应用场景需求;
本发明方法支持在数据中心中多异构存储系统之间如对象存储系统、平行分布式文件存储系统(Lustre)、块存储系统、文件存储系统的数据流转迁移,并且支持不同数据中心之间跨域的数据流转迁移任务。
例如:Lustre是一个并行分布式文件系统,通常用于大规模的集群计算如HPC集群,AI集群为了应对海量的数据文件,会采用大数据分布式文件系统、云计算集群通常采用对象存储系统等等,这里举例及图示仅举出数据中心三种集群所采取的不同存储系统以便理解,针对不同场景的不同集群不仅限于采取图1中所示存储系统类型。
如图2所示,本实施例以数据中心包括两种异构存储之间进行数据流转迁移为例进行说明,两种异构存储之间进行数据流转迁移的示例,如图2中展示的,数据中心包括:HPC集群和AI集群,HPC集群采用Lustre存储系统、AI集群采用大数据分布式文件系统,两种集群中都有其对应的元数据服务器以及调度器(包含记录节点),其中元数据服务器负责存储记录数据文件的属性特征;调度器负责改造待迁移数据源,利用记录节点中的Data_Block发送节点映射表将数据均匀分发到发送节点中以及执行不同调度策略来具体管控发送节点的数据流转迁移作业队列。
作为一种或多种实施例,所述调度器可以通过访问元数据服务器或多个元数据服务器节点构成的分布式集群中的元数据来获取数据文件的属性,进一步的,可根据文件的属性得到待迁移数据的特征。
通过元数据来获取每个数据文件的属性及本发明方法中所对应简写方式如下所示:
文件属性(File Properties,FP)包括:文件大小(File Size,FS)、文件数量(FileNumber,FN)、文件类型(File Type,FT)、文件访问次数(File Access Times,FAT)以及数据索引信息(File Index,FI)。
图2实例中表示执行数据发送与接收操作的节点我们这里统称为数据流转节点,当数据流转节点执行数据发送任务时,即称为发送节点,当数据流转节点执行数据接收任务时,即称为接收节点,也即图2实例中标识发送/接收节点的原因。需要注意的是,集群中同一发送节点可以向另外集群中不同的接收节点发送数据,反之亦可。
如图3所示,数据流转节点要求的网络相对较高,例如若要求支持HPC集群应用平台和云计算集群应用平台节点的数据流转迁移作业,则数据流转迁移作业节点的网络配置需要配置InfiniBand网卡、以太作业网卡和虚拟化业务网卡三种,若两个集群的平台软件环境不支持共享,还需要配置基板管理控制网卡用于支持裸金属服务从而实现应用的软件环境的重装。若要支持多个集群应用平台的数据流转调度,需要考虑数据流转节点的网络硬件支持情况,实现数据流转迁移需要提前配置相应的网卡。
如图4所示为本发明举例跨地域的不同数据中心之间数据流转调度作业示例,表示本发明支持跨地域不同数据中心异构或同构集群之间数据的流转迁移任务,也即图2所示的同一数据中心数据流转调度作业的扩展例,需要注意的是,跨地域数据中心系统之间集群数据的迁移作业需要考虑实际的跨域网络情况,并且两者数据中心系统集群需要配置相应的元数据服务器、调度器、数据流转节点以及API或命令行接口。
所述负载均衡化处理模块,包括多个负载均衡化处理子模块,被配置为:以数据流转迁移作业总时间最短为目标,结合影响数据迁移作业的因素和多个负载均衡化处理子模块,将待迁移数据源改造为待迁移分布式数据源后均匀分发到各发送节点上;
作为一种或多种实施例,所述负载均衡化处理子模块包括标识数据记录模块、切片划分模块、发送节点划分模块、均匀映射模块以及数据分配模块;
所述标识数据记录模块,被配置为:依次遍历待迁移数据的数据集,选择每个数据集中能唯一标识一条数据记录的序号、字段、序号和字段的组合作为数据记录标识(ID_key)。
所述切片划分模块,被配置为:采用分区方法对数据记录标识(ID_key)进行切片划分,划分的每一部分就是一个数据分块(Data_Block),即将待迁移数据源划分为若干数据分块,该数据分块构成了待迁移分布式数据源存储数据的基本单位。
其中,所述标识数据记录模块,还被配置为:
数据记录标识(ID_key)的字段(字母、字符)或序号具有不均匀特性,需要判断待迁移数据集的数据记录标识;
对于非单一数值型字段所构成的数据记录标识,使用哈希函数处理为二进制数值,然后将各个字段的数值拼成一个二进制数值(若只有单字段,则跳过);
若为单一数值型字段构成的数据记录标识,则使用分区方法对待迁移数据集的数据记录标识(ID_key)进行切片划分(结果记录到调度器中的记录节点),划分结果的每一部分就是一个数据分块(Data_Block),即将待迁移数据源划分为若干数据分块,该数据分块构成了待迁移分布式数据源存储数据的基本单位;
标识数据记录模块和切片划分模块完成待迁移数据源改造为待迁移分布式数据源的切片划分后,需要将Data_Block分发到各个物理的发送节点中,为了达到更好的负载均衡和并发性,本策略考虑了发送节点计算能力以及采取了分布式一致性的哈希算法思想。
所述发送节点划分模块,被配置为:根据发送节点的计算能力得到该发送节点的权重值,根据发送节点的权重值将发送节点划分成若干个虚拟发送节点,每个发送节点将数据分块的个数以及发送节点的权重值得到所对应的虚拟发送节点的个数;
所述发送节点的均匀映射模块,被配置为:将Data_Block和虚拟发送节点按照某种分布式哈希算法映射到相同的范围中,再根据虚拟发送节点和真实发送节点之间对应关系,找到Data_Block与发送节点之间的映射关系并记录到记录节点。
切片划分模块中对待迁移数据集的ID_key切片划分为若干Data_Block的过程以及发送节点的均匀映射模块中Data_Block与发送节点之间的映射关系需要由一个或多个节点(记录节点)负责记录结果,即记录维护ID_key-Data_Block映射表和Data_Block-发送节点映射表。
所述数据分配模块,被配置为:由调度器分发节点任务的方式,按照Data_Block到发送节点之间映射关系来发送Data_Block到相应的发送节点中。
本实施例中所述负载均衡化模块目的在于,使待迁移数据源将数据均匀分布到数据发送节点上,并且保证每个数据发送节点所要发送的数据量负载与其性能保持均衡,为了达到该目的,将需要由一个或多个节点(记录节点)负责将待迁移数据源改造为待迁移分布式数据源,随后将分布式数据源的数据均匀分发到各发送节点上。
上述技术的优点在于,本发明的数据调度系统首要策略是考虑基于负载、数据量、性能等影响数据流转迁移作业的因素,通过对待迁移数据源的数据进行负载均衡化处理,使得每个发送节点所需发送的数据量负载相对于其性能保持均衡性,从而达到数据源的负载均衡以及为后续迁移作业的高并发性提供基础,随后,通过下发调度节点任务的方式实现多数据流转节点间的高速并发迁移和多存储系统的数据流动,为应用的计算环境提供了无感知数据供给。
所述动态调度模块,被配置为:接收元数据服务器中所读取的各发送节点上待迁移数据源的文件属性特征,将文件的属性特征与自定义阈值进行比较,根据比较结果自适应的执行数据文件合并拆解子模块或数据文件热度子模块。
作为一种或多种实施例,所述动态调度模块中,将文件的属性特征与自定义阈值进行比较,根据比较结果自适应的执行数据文件合并拆解子模块或数据文件热度子模块,被配置为:
将从元数据服务器所得到的待迁移数据文件属性特征中对文件的真实访问次数FAT_True与用户或系统自定义指定的一个文件访问次数固定阈值FAT_Flag进行比较,若FAT_True<FAT_Flag时,将对此部分数据文件自适应执行数据文件合并拆解子模块;若FAT_True≥FAT_Flag时,则执行数据文件热度子模块。
作为一种或多种实施例,所述数据文件合并拆解子模块,被配置为:
读取各发送节点的待迁移数据的FS和带宽k值数据,以此判定最佳传输文件大小值的阈值区间为[Min,Max];
判断发送节点上的待迁移数据文件大小是否在阈值区间[Min,Max]内;
若待迁移数据文件大小符合阈值区间,则为符合阈值区间的数据文件创建流转迁移作业,并将该作业置入数据流转迁移作业队列中;
若待迁移数据文件大小FS低于Min,则一直合并小文件直到新得到的合并文件大小符合阈值区间,再为该文件创建流转迁移作业,后将该作业置入数据流转迁移作业队列中;
若待迁移数据文件大小FS高于Max,则拆解大文件直到新得到的拆解文件大小符合阈值区间,再为该文件创建流转迁移作业,后将该作业置入数据流转迁移作业队列中。
其中,待迁移数据的FS和带宽k值,两者是实时相互影响的,此处设定每秒传输文件的个数阈值p是需要经过大量实验所得出的区间值。
上述子模块的策略执行完毕后,将会分配FS_Q队列中的数据流转迁移作业到发送节点中,并最早传输符合受带宽及文件大小两者所影响的数据,以保证各发送节点的负载均衡和并发性。
所述数据文件热度子模块,被配置为:
(1)读取发送节点上待迁移数据文件的FAT_True值,并代入数据文件热度分段函数H(FAT_True)中;
所述数据文件热度分段函数H(FAT_True):
公式(1)以数据文件特征中的真实文件访问次数FAT_True作为输入。
(2)依次循环遍历数据文件的元数据,将遍历得到的文件访问次数属性代入H(FAT_True)中;
(3)将H(FAT_True)= 1的数据文件标记为高优先级数据文件,计入高优先级作业队列(HQ)中;
(4)分别将H(FAT_True)= 1/2和H(FAT_True)= 0的数据文件标记为中优先级数据文件和低优先级数据文件,依次计入中优先级作业队列(MQ)和低优先级队列(LQ)中;
(5)为每个发送节点分配数据流转迁移作业任务,首先分配HQ中的数据文件,当HQ为空时,再分配MQ中数据文件,当MQ为空时,对LQ中的低优先级数据文件执行FMDP策略,直至所有作业队列HQ、MQ、LQ为空,发送节点停止运行为止。
所述数据迁移模块,被配置为:将执行完相应调度策略的待迁移数据文件作为任务分配给各个发送节点,发送节点将根据数据流转迁移作业队列中的迁移任务序列执行数据的迁移,将数据发送到目标集群的数据接收节点中。
实施例二
以复杂场景-气象预测业务场景为例,气象应用是典型的计算密集、IO密集、紧耦合的应用,各类型的气象预测在整个预测过程中都要经历气象数据观测、数据预处理、模式计算以及模式后处理,而各种天气预测过程中不同的数据所需存储系统不同,且气象数据种类、数量会日益繁多、范围尺度会越来越大。
针对不同类型海量数据作业的流转迁移处理要求,不仅应当考虑影响数据迁移作业时间的因素,还应对数据的特征进行分析,根据数据的特征“因地制宜”地选择合适的数据流转调度方法,以满足诸如HPC作业、大数据事务提交、AI算子编排作业等气象预测作业过程对计算性能和规模的高要求、海量数据存储及大小IO混合读写的高要求、异构存储系统之间数据快速迁移的高要求、大带宽的高速传输网络的高要求。
基于上述复杂的业务应用场景的要求,如图5所示,本实施例提供了一种面向复杂应用场景的自适应数据调度方法,包括如下步骤:
S101: 以数据流转迁移作业总时间最短为目标,为此本方法通过构建数据流转迁移作业时间函数分析得出影响数据迁移作业的因素包含有负载、数据量、并发度、带宽等,而后根据分析结论提出数据源负载均衡策略,利用该策略将待迁移数据源改造为待迁移分布式数据源,将待迁移分布式数据源中的数据均匀分发到各发送节点上;
S102:接收各发送节点上待迁移数据源的文件属性特征,根据文件属性特征和自定义阈值对待迁移数据源自适应执行调度策略;
S103: 将执行完相应调度策略的待迁移数据文件作为任务分配给各个发送节点,发送节点将根据数据流转迁移作业队列中的迁移任务序列执行数据的迁移,将数据发送到目标集群的数据接收节点中。
作为一种或多种实施例,S101中所述构建的数据流转迁移作业时间函数为:
式中,k为带宽值,反比例系数1/k表示带宽的影响,其含义为当带宽值k增大,则数据流转迁移所需时间越短,反之当带宽值k减小,数据流转迁移所需时间增加;
SWR包含了所有执行串行的数据流转迁移作业集合中执行时间最长的迁移作业;Tj表示迁移作业Wj的运行时间,SDPj是迁移作业Wj中包含最后结束的M(Di, Wj)的串行运行的数据集集合。
之所以构建时间函数的原因是由于衡量集群数据流转迁移策略优劣的方式一般是性能,对于性能好坏来说,最好的体现方式是时间,本时间函数具体构建步骤如下:
1)将集群的数据流转节点中发送节点的待迁移数据源所构成的集合记为DP={D1,D2, D3,…,Di},其中i的数量表示待迁移数据源个数,|Di|表示为数据源的规模;
2)将数据流转迁移作业所构成的集合记为WR={W1, W2, W3,…,Wj},其中j的数量表示待迁移数据作业的个数,|Wj|表示为迁移作业的规模;
3)将每个数据流转迁移作业需要访问的待迁移数据源所构成的集合记作
DPj={D1 j, D2 j D3 j,…,Di j },DPj⊆DP,其中Di j代表迁移作业Wj需要访问待迁移数据源的个数为i个,则易推知迁移作业的规模|Wj|=∑|Di j|;
4)将迁移作业Wj从Di拉取数据的迁移任务记为M(Di, Wj),所用时间记作Ti j;
5)由于网络带宽也是影响数据流转迁移任务的重大影响因素之一,这里将带宽记为参数k代入总式;
通过公式(2)中可以得到:影响迁移性能的参数有SWR、SDPj、Tij以及带宽值k,进一步的,数据量、负载均衡度和并发度又是影响除带宽k外的这三者的因素。迁移数据的总体数据量越大则迁移任务所需时间会相应延长;当假定迁移任务的数据量固定,带宽和物理硬件性能确定时,若迁移任务的并发度越高或数据迁移的负载越均衡,则|SWR|和|SDP|越小,同一时间段任务互相等待的时间越短且迁移的数据量就越多,也即降低了数据流转迁移作业的运行时间。
如图6所示,作为一种或多种实施例,S101中,本调度方法根据上述建模所得到的影响数据迁移作业的因素,相对应提出数据源负载均衡策略(DSLB),该策略将待迁移数据源改造为待迁移分布式数据源,将待迁移分布式数据源的数据均匀分发到各发送节点上,包括:
(1)依次遍历待迁移数据的数据集,选择每个数据集中能唯一标识一条数据记录的序号、字段、序号和字段的组合作为数据记录标识(ID_key)。
(2)采用分区方法对数据记录标识(ID_key)进行切片划分,划分的每一部分就是一个数据分块(Data_Block),即将待迁移数据源划分为若干数据分块,该数据分块构成了待迁移分布式数据源存储数据的基本单位。
其中,所述依次遍历待迁移数据的数据集,选择每个数据集的数据记录标识包括:
(3)数据记录标识(ID_key)的字段(字母、字符)或序号具有不均匀特性,需要判断待迁移数据集的数据记录标识;
对于非单一数值型字段所构成的数据记录标识,使用哈希函数处理为二进制数值,然后将各个字段的数值拼成一个二进制数值(若只有单字段,则跳过);
若为单一数值型字段构成的数据记录标识,则使用分区方法对待迁移数据集的数据记录标识(ID_key)进行切片划分(结果记录到调度器中的记录节点),划分结果的每一部分就是一个数据分块(Data_Block),即将待迁移数据源划分为若干数据分块,该数据分块构成了待迁移分布式数据源存储数据的基本单位;
完成待迁移数据源改造为待迁移分布式数据源的切片划分后,需要将Data_Block分发到各个物理的发送节点中,为了达到更好的负载均衡和并发性,本策略考虑了发送节点计算能力以及采取了分布式一致性的哈希算法思想。
(4)根据发送节点的计算能力得到该发送节点的权重值,根据发送节点的权重值将发送节点划分成若干个虚拟发送节点,每个发送节点将数据分块的个数以及发送节点的权重值得到所对应的虚拟发送节点的个数;
(5)将Data_Block和虚拟发送节点按照某种分布式哈希算法映射到相同的范围中,再根据虚拟发送节点和真实发送节点之间对应关系,找到Data_Block与发送节点之间的映射关系并记录到记录节点。
(6)第(2)步中对待迁移数据集的ID_key切片划分为若干Data_Block的过程以及第(4)步中Data_Block与发送节点之间的映射关系需要由一个或多个节点(记录节点)负责记录结果,即记录维ID_key-Data_Block映射表和Data_Block发送节点映射表。
(7)由调度器分发节点任务的方式,按照Data_Block到发送节点之间映射关系来发送Data_Block到相应的发送节点中。
上述技术的优点在于,本发明的数据调度方法首要策略是考虑基于负载、数据量、性能等影响数据流转迁移作业的因素,通过对待迁移数据源的数据进行负载均衡化处理,使得每个发送节点所需发送的数据量负载相对于其性能保持均衡性,从而达到数据源的负载均衡以及为后续迁移作业的高并发性提供基础,随后,通过下发调度节点任务的方式实现多数据流转节点间的高速并发迁移和多存储系统的数据流动,为应用的计算环境提供了无感知数据供给。
如图5中所示本发明所述动态调整的自适应数据调度方法中,首先执行数据源负载均衡策略后,将根据所得到的数据文件的FAT值作为数据流转迁移作业后续是执行FMDP策略或是执行FHP策略的依据,因此此处可由用户或系统自定义指定一个FAT的固定阈值为FAT_Flag,而根据元数据节点所得到文件的真实FAT值我们称为FAT_True,随后调度器便可将FAT_Flag值作为数据流转迁移任务的策略分断点,当FAT_True<FAT_Flag时,调度器将针对此部分迁移数据文件自适应的优先执行FMDP策略,当FAT_True≥FAT_Flag时,调度器将针对此部分迁移数据文件自动调整为优先执行FHP策略,以达到对数据文件整体的分流处理保证迁移任务的高并发性。
如图7所示,作为一种或多种实施例,S102中,所述根据文件属性特征和自定义阈值对待迁移数据源自适应执行相应的调度策略,包括:
将待迁移数据源文件的真实访问次数与自定义固定阈值进行比较,若待迁移数据源文件的真实访问次数小于自定义固定阈值时,针对此部分迁移数据文件自适应地执行数据文件合并拆解策略,否则执行数据文件热度策略。
本发明所述的数据文件合并拆解策略是当FAT_True<FAT_Flag时所采取的策略,其目的是对过小文件进行合并,过大文件进行拆解,以适应数据中心的带宽影响(带宽为影响数据中心集群间进行数据流转迁移的因素之一)。
所述数据文件合并拆解策略需要执行的具体过程见下述算法:
输入:包含m个文件的集合F={F1, F2, F3,…,Fm},其中每个文件Fm为字典形式,具体为Fm={“FS”: “number”},FS为文件大小属性,number为文件大小数值,带宽k,每秒传输文件的个数阈值p。
Begin:
1) Set F_Min = { }, F_Max = { }, FS_Q = { } //初始化小文件集合(F_Min)和大文件集合(F_Max)以及作业队列(FS_Q)
2) Min = k/p ,Max = k/(1/p) //确定文件受带宽影响的最合适大小取值,即文件大小处于[Min,Max]中时为最佳传输文件大小
3) for each Fm in F
4) if Fm.values() < Min //Fm.values()表示取Fm的FS的值number
5) add Fm in F_Min //将文件Fm加入集合中
6) else if (Fm.values ≥ Min) && (Fm.values ≤ Max)
7) push Fm in FS_Q //将该文件放入作业队列中
8) else
9) add Fm in F_Max
10) end if
11) end for
12) for each Fiin F_Min
13) Fi∪ Fi+1 //合并较小文件
14) if (Fi ∪ Fi+1).values ≥ Min
15) push (Fi∪ Fi+1 ) in FS_Q
16) continue
17) end if
18) end for
19) for each Fjin F_Max
20) Read(Fj.values())
21) Split(Fj) //拆解大文件
22) if (Split(Fj)).values ≤ Max
23) push (Split(Fj)) in FS_Q
24) continue
25) end if
26) end for
27) Split(filename): //27-38为具体拆解函数,仅作为参考
29) with open (filename,"r") as file1:
30) for i in range(math.ceil(count)):
31) f_new = file1.read(Min)
32) a1 = get_hash(f_new.encode('utf-8' )).hexdigest()
33) if a1 not in list:
34) block_name = a1+'name'
35) with open (block_name,'w') as fp:
36) fp.write(f_new)
37) end if
38) list.append(a1)
39) end for
End
其中,待迁移数据的FS和带宽k值,两者是实时相互影响的,此处设定每秒传输文件的个数阈值p是需要经过大量实验所得出的区间值。
上述算法执行完毕后,将会分配FS_Q队列中的数据流转迁移作业到发送节点中,并最早传输符合受带宽及文件大小两者所影响的数据,以保证各发送节点的负载均衡和并发性。
本发明所述数据文件热度策略是当FAT_True≥FAT_Flag时所采取的策略,其目的是优先在数据流转调度作业执行时,为发送节点分配发送热点数据的任务,这是因为热点数据文件中的数据往往是用户最急需的。
作为一种或多种实施例,所述执行数据文件热度策略具体包括:
(1)读取发送节点上待迁移数据文件的FAT_True值,并代入数据文件热度分段函数H(FAT_True)中;
所述数据文件热度分段函数H(FAT_True):
数据文件热度分段函数H(FAT_True)以数据文件特征中的真实文件访问次数FAT_True作为输入。
(2)依次循环遍历数据文件的元数据,将遍历得到的文件访问次数属性代入H(FAT_True)中;
(3)将H(FAT_True)= 1的数据文件标记为高优先级数据文件,计入高优先级作业队列(HQ)中;
(4)分别将H(FAT_True)= 1/2和H(FAT_True)= 0的数据文件标记为中优先级数据文件和低优先级数据文件,依次计入中优先级作业队列(MQ)和低优先级队列(LQ)中;
(5)为每个发送节点分配数据流转迁移作业任务,首先分配HQ中的数据文件,当HQ为空时,再分配MQ中数据文件,当MQ为空时,对LQ中的低优先级数据文件执行FMDP策略,直至所有作业队列HQ、MQ、LQ为空,发送节点停止运行为止。
本发明通过自适应数据调度作业策略包括:数据源负载均衡策略DSLB、数据文件热度策略FHP、数据文件合并拆解策略FMDP,其中首先选取DSLB,使其达到数据源的负载均衡化以及作为数据流转迁移任务的高并发基础,而后将根据数据文件的特征自适应的调整选取FHP和FMDP两种策略。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种面向复杂应用场景的自适应数据调度系统,其特征在于,包括:多个数据中心集群,每个数据中心集群中均包括元数据服务器和调度器;所述调度器包括负载均衡化处理模块、动态调度模块以及数据迁移模块;
所述负载均衡化处理模块,包括多个负载均衡化处理子模块,被配置为:以数据流转迁移作业总时间最短为目标,结合影响数据迁移作业的因素和多个负载均衡化处理子模块,将待迁移数据源改造为待迁移分布式数据源后均匀分发到各发送节点上;
所述负载均衡化处理子模块包括标识数据记录模块、切片划分模块、发送节点划分模块、均匀映射模块以及数据分配模块;
所述标识数据记录模块,被配置为:依次遍历待迁移数据的数据集,选择每个数据集的数据记录标识;
所述切片划分模块,被配置为:采用分区方法对数据记录标识进行切片划分,将待迁移数据源划分为若干数据分块;
所述发送节点划分模块,被配置为:根据发送节点的计算能力得到该发送节点的权重值,根据发送节点的权重值将发送节点划分成若干个虚拟发送节点,每个发送节点将数据分块的个数以及发送节点的权重值得到所对应的虚拟发送节点的个数;
所述均匀映射模块,被配置为:将数据分块和虚拟发送节点按照分布式哈希算法映射到相同的范围中,再根据虚拟发送节点和真实发送节点之间对应关系,找到数据分块与发送节点之间的映射关系;
所述数据分配模块,被配置为:按照数据分块到发送节点之间映射关系来发送数据分块到相应的发送节点中;
所述动态调度模块,被配置为:接收元数据服务器中所读取的各发送节点上待迁移数据源的文件属性特征,将文件的属性特征与自定义阈值进行比较,根据比较结果自适应的执行数据文件合并拆解子模块或数据文件热度子模块;
所述动态调度模块中,将文件的属性特征与自定义阈值进行比较,根据比较结果自适应的执行数据文件合并拆解子模块或数据文件热度子模块,被配置为:
将待迁移数据源文件的真实访问次数与自定义固定阈值进行比较,若待迁移数据源文件的真实访问次数小于自定义固定阈值时,针对此部分迁移数据文件自适应地执行数据文件合并拆解子模块,否则执行数据文件热度子模块;
所述数据文件合并拆解子模块,被配置为:
根据各发送节点的待迁移数据的文件大小和带宽,得到传输文件大小值的阈值区间;
判断发送节点上的待迁移数据文件大小是否在阈值区间内;
若待迁移数据文件大小符合阈值区间,则为符合阈值区间的数据文件创建流转迁移作业,并将该作业置入数据流转迁移作业队列中;
若待迁移数据文件大小低于最小值,则一直合并小文件直到新得到的合并文件大小符合阈值区间,为该文件创建流转迁移作业,后将该作业置入数据流转迁移作业队列中;
若待迁移数据文件大小高于最大值,则拆解大文件直到新得到的拆解文件大小符合阈值区间,为该文件创建流转迁移作业,后将该作业置入数据流转迁移作业队列中;
所述数据文件热度子模块,被配置为:
读取发送节点上待迁移数据文件的真实访问次数值;
依次循环遍历数据文件的元数据,根据遍历得到的文件访问次数属性标记数据文件的优先级,将高优先级数据文件、中优先级数据文件以及低优先级数据文件依次计入对应的优先级作业队列中;为每个发送节点分配数据流转迁移作业任务;
所述数据迁移模块,被配置为:将执行完相应调度模块的待迁移数据文件作为任务分配给各个发送节点,发送节点将根据数据流转迁移作业队列中的迁移任务序列执行数据的迁移,将数据发送到目标集群的数据接收节点中。
2.一种面向复杂应用场景的自适应数据调度方法,其特征在于,包括如下步骤:
以数据流转迁移作业的总时间最短为目标,结合影响数据迁移作业的因素数据源负载均衡策略,将待迁移数据源改造为待迁移分布式数据源后均匀分发到各发送节点上,包括:
依次遍历待迁移数据的数据集,选择每个数据集的数据记录标识;
采用分区方法对数据记录标识进行切片划分,将待迁移数据源划分为若干数据分块;
根据发送节点的计算能力得到该发送节点的权重值,根据发送节点的权重值将发送节点划分成若干个虚拟发送节点,每个发送节点将数据分块的个数以及发送节点的权重值得到所对应的虚拟发送节点的个数;
将数据分块和虚拟发送节点按照分布式哈希算法映射到相同的范围中,再根据虚拟发送节点和真实发送节点之间对应关系,找到数据分块与发送节点之间的映射关系;
按照数据分块到发送节点之间映射关系来发送数据分块到相应的发送节点中;
接收各发送节点上待迁移数据源的文件属性特征,根据文件属性特征和自定义阈值的比较结果,对待迁移数据文件自适应执行数据文件合并拆解调度策略或数据文件热度调度策略;
所述根据文件属性特征和自定义阈值对待迁移数据源自适应执行相应的调度策略,包括:
将待迁移数据源文件的真实访问次数与自定义固定阈值进行比较,若待迁移数据源文件的真实访问次数小于自定义固定阈值时,针对此部分迁移数据文件自适应地执行数据文件合并拆解策略,否则执行数据文件热度策略;
所述执行数据文件合并拆解策略具体包括:
根据各发送节点的待迁移数据的文件大小和带宽,得到传输文件大小值的阈值区间;
判断发送节点上的待迁移数据文件大小是否在阈值区间内;
若待迁移数据文件大小符合阈值区间,则为符合阈值区间的数据文件创建流转迁移作业,并将该作业置入数据流转迁移作业队列中;
若待迁移数据文件大小低于最小值,则一直合并小文件直到新得到的合并文件大小符合阈值区间,为该文件创建流转迁移作业,后将该作业置入数据流转迁移作业队列中;
若待迁移数据文件大小高于最大值,则拆解大文件直到新得到的拆解文件大小符合阈值区间,为该文件创建流转迁移作业,后将该作业置入数据流转迁移作业队列中;
所述执行数据文件热度策略具体包括:
读取发送节点上待迁移数据文件的真实访问次数值;
依次循环遍历数据文件的元数据,根据遍历得到的文件访问次数属性标记数据文件的优先级,将高优先级数据文件、中优先级数据文件以及低优先级数据文件依次计入对应的优先级作业队列中;为每个发送节点分配数据流转迁移作业任务;
将执行完相应调度策略的待迁移数据文件分配给各个发送节点,发送节点根据数据流转迁移作业队列所分配的迁移任务执行数据的迁移,将数据发送到目标集群的数据接收节点中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376827.7A CN114461369B (zh) | 2022-04-12 | 2022-04-12 | 一种面向复杂应用场景的自适应数据调度系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376827.7A CN114461369B (zh) | 2022-04-12 | 2022-04-12 | 一种面向复杂应用场景的自适应数据调度系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114461369A CN114461369A (zh) | 2022-05-10 |
CN114461369B true CN114461369B (zh) | 2022-08-19 |
Family
ID=81418126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210376827.7A Active CN114461369B (zh) | 2022-04-12 | 2022-04-12 | 一种面向复杂应用场景的自适应数据调度系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461369B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117033004B (zh) * | 2023-10-10 | 2024-02-09 | 苏州元脑智能科技有限公司 | 负载均衡方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227645A (zh) * | 2015-09-15 | 2016-01-06 | 齐鲁工业大学 | 一种云数据迁移方法 |
CN107948293A (zh) * | 2017-11-29 | 2018-04-20 | 重庆邮电大学 | 一种基于MongoDB负载均衡优化系统及方法 |
CN110008199A (zh) * | 2019-03-25 | 2019-07-12 | 华南理工大学 | 一种基于访问热度的数据迁移部署方法 |
CN110569233A (zh) * | 2019-06-30 | 2019-12-13 | 华为技术有限公司 | 一种热点数据的管理方法、装置及系统 |
CN111125058A (zh) * | 2019-12-06 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置和系统 |
WO2022001480A1 (zh) * | 2020-06-28 | 2022-01-06 | 中兴通讯股份有限公司 | 热门应用识别方法、网络系统、网络设备及存储介质 |
CN114064588A (zh) * | 2021-11-24 | 2022-02-18 | 建信金融科技有限责任公司 | 存储空间调度方法及系统 |
CN114077602A (zh) * | 2022-01-13 | 2022-02-22 | 中兴通讯股份有限公司 | 数据迁移方法和装置、电子设备、存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407191B1 (en) * | 2010-06-29 | 2013-03-26 | Emc Corporation | Priority based data scrubbing on a deduplicated data store |
CN111240593B (zh) * | 2020-01-06 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种动态自适应调度的数据迁移方法、装置、设备和介质 |
-
2022
- 2022-04-12 CN CN202210376827.7A patent/CN114461369B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227645A (zh) * | 2015-09-15 | 2016-01-06 | 齐鲁工业大学 | 一种云数据迁移方法 |
CN107948293A (zh) * | 2017-11-29 | 2018-04-20 | 重庆邮电大学 | 一种基于MongoDB负载均衡优化系统及方法 |
CN110008199A (zh) * | 2019-03-25 | 2019-07-12 | 华南理工大学 | 一种基于访问热度的数据迁移部署方法 |
CN110569233A (zh) * | 2019-06-30 | 2019-12-13 | 华为技术有限公司 | 一种热点数据的管理方法、装置及系统 |
CN111125058A (zh) * | 2019-12-06 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置和系统 |
WO2022001480A1 (zh) * | 2020-06-28 | 2022-01-06 | 中兴通讯股份有限公司 | 热门应用识别方法、网络系统、网络设备及存储介质 |
CN114064588A (zh) * | 2021-11-24 | 2022-02-18 | 建信金融科技有限责任公司 | 存储空间调度方法及系统 |
CN114077602A (zh) * | 2022-01-13 | 2022-02-22 | 中兴通讯股份有限公司 | 数据迁移方法和装置、电子设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
A scheduling algorithm based on resource overcommitment in virtualization environments;Jibin Wang;《IEEE》;20161212;全文 * |
海量遥感数据的存储迁移策略研究;赵泽亚等;《信息工程大学学报》;20200215(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114461369A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100419680B1 (ko) | 계산 환경의 코프로세서 내에서의 비동기 i/o 요청들의 관리 방법 및 시스템과 기록 매체 | |
KR100420420B1 (ko) | Cpu 자원 관리 방법 및 시스템과 기록 매체 | |
KR100420419B1 (ko) | 계산 환경의 분할들의 그룹들을 관리하는 방법, 시스템 및 기록 매체 | |
AU2015229200B2 (en) | Coordinated admission control for network-accessible block storage | |
KR100420421B1 (ko) | 계산환경의 논리 프로세서들을 관리하는 방법, 시스템 및 기록매체 | |
CN109039954B (zh) | 多租户容器云平台虚拟计算资源自适应调度方法及系统 | |
CN107832153B (zh) | 一种Hadoop集群资源自适应分配方法 | |
CN110134495B (zh) | 一种容器跨主机在线迁移方法、存储介质及终端设备 | |
US7752628B2 (en) | Method and apparatus for reassigning objects to processing units | |
CN114138486B (zh) | 面向云边异构环境的容器化微服务编排方法、系统及介质 | |
US10810143B2 (en) | Distributed storage system and method for managing storage access bandwidth for multiple clients | |
US10250673B1 (en) | Storage workload management using redirected messages | |
Bok et al. | An efficient MapReduce scheduling scheme for processing large multimedia data | |
CN103176849A (zh) | 一种基于资源分类的虚拟机集群的部署方法 | |
Ma et al. | Dependency-aware data locality for MapReduce | |
CN112817728A (zh) | 任务调度方法、网络设备和存储介质 | |
CN114461369B (zh) | 一种面向复杂应用场景的自适应数据调度系统及方法 | |
De Souza et al. | Boosting big data streaming applications in clouds with BurstFlow | |
Zhang et al. | Aurora: Adaptive block replication in distributed file systems | |
KR101661475B1 (ko) | 이기종 클러스터 상에서 하둡 부하 분산 방법, 이를 수행하기 위한 기록 매체 및 하둡 맵리듀스 시스템 | |
CN115981807A (zh) | 一种基于区块链的可信分布式计算卸载方法 | |
KS | Integrated Data, Task and Resource Management to Speed Up Processing Small Files in Hadoop Cluster. | |
Wu et al. | Improving MapReduce Performance by Streaming Input Data from Multiple Replicas | |
Arya et al. | Dynamic resource management through task migration in cloud | |
CN116192962B (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 |