首页> 中国专利> 一种基于混合存储的计算系统中的数据迁移方法及装置

一种基于混合存储的计算系统中的数据迁移方法及装置

摘要

本发明实施例提供了一种基于混合存储的计算系统中的数据迁移方法及装置,应用于配置有存储设备的计算节点,所述配置有存储设备的计算节点包括硬盘驱动器HDD和固态驱动器SSD,方法包括:在HDD存储的视频任务中,确定待迁移任务,其中,SSD的剩余存储空间大于处理待迁移任务时所需的存储空间,待迁移任务包括至少一个待迁移数据块;判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;若为是,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。应用本发明实施例能够实现配置有存储设备的计算节点的负载均衡。

著录项

  • 公开/公告号CN107391031A

    专利类型发明专利

  • 公开/公告日2017-11-24

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN201710501299.2

  • 发明设计人 张海涛;马华东;高阳阳;唐炳昌;

    申请日2017-06-27

  • 分类号G06F3/06(20060101);

  • 代理机构11413 北京柏杉松知识产权代理事务所(普通合伙);

  • 代理人马敬;项京

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-06-19 03:51:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-08

    授权

    授权

  • 2017-12-19

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20170627

    实质审查的生效

  • 2017-11-24

    公开

    公开

说明书

技术领域

本发明涉及数据存储技术领域,特别是涉及一种基于混合存储的计算系统中的数据迁移方法及装置。

背景技术

随着云技术的快速发展,硬盘驱动器(Hard Disk Drive,HDD)+固态驱动器(Solid-State Drive,SSD)的混合存储方案已经成为云平台数据存储器的主流解决方案。在云平台中,一个数据存储器,也即一个配置有存储设备的计算节点通常包括一定数量的SSD和一定数量的HDD,由于SSD的平均读写速率等指标均优于HDD,因此,当每个配置有存储设备的计算节点中包括的HDD和SSD的数量比例不完全相同时,易造成配置有存储设备的计算节点之间的负载量不均衡。

目前,HDFS分布式文件系统能够根据配置有存储设备的计算节点的负载量,对配置有存储设备的计算节点中的待处理数据进行迁移处理,具体的,可以将负载量较大的配置有存储设备的计算节点中的待处理数据迁移到负载量较小的配置有存储设备的计算节点中。

但是,由于HDFS仅考虑了配置有存储设备的计算节点的负载量,没有考虑到HDD与SSD之间的性能差异,因此,HDFS对配置有存储设备的计算节点的负载均衡的调节效果不佳,导致SSD的存储空间无法得到充分利用,降低了云平台的处理性能。

发明内容

本发明实施例的目的在于提供一种基于混合存储的计算系统中的数据迁移方法及装置,能够实现配置有存储设备的计算节点的负载均衡。具体技术方案如下:

本发明实施例提出了一种基于混合存储的计算系统中的数据迁移方法,应用于配置有存储设备的计算节点,所述计算节点包括硬盘驱动器HDD和固态驱动器SSD,所述方法包括:在所述HDD存储的视频任务中,确定待迁移任务,其中,所述SSD的剩余存储空间大于处理所述待迁移任务时所需的存储空间,所述待迁移任务包括至少一个待迁移数据块;判断所述待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;若为是,则将所述待迁移任务从所述HDD迁移至所述SSD,使所述待迁移任务存储在所述SSD中。

本发明实施例还提出了一种基于混合存储的计算系统中的数据迁移装置,所述装置包括:确定单元,用于在所述HDD存储的视频任务中,确定待迁移任务,其中,所述SSD的剩余存储空间大于处理所述待迁移任务时所需的存储空间,所述待迁移任务包括至少一个待迁移数据块;判断单元,用于判断所述待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;迁移单元,用于若所述判断单元的结果为所述待迁移任务的预设的迁移时长小于预设的迁移时长阈值,则将所述待迁移任务从所述HDD迁移至所述SSD,使所述待迁移任务存储在所述SSD中。

本发明实施例又提出了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如下步骤:在所述HDD存储的视频任务中,确定待迁移任务,其中,所述SSD的剩余存储空间大于处理所述待迁移任务时所需的存储空间,所述待迁移任务包括至少一个待迁移数据块;判断所述待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;若为是,则将所述待迁移任务从所述HDD迁移至所述SSD,使所述待迁移任务存储在所述SSD中。

本发明实施例另提出了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:在所述HDD存储的视频任务中,确定待迁移任务,其中,所述SSD的剩余存储空间大于处理所述待迁移任务时所需的存储空间,所述待迁移任务包括至少一个待迁移数据块;判断所述待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;若为是,则将所述待迁移任务从所述HDD迁移至所述SSD,使所述待迁移任务存储在所述SSD中。

本发明实施例提供的一种基于混合存储的计算系统中的数据迁移方法及装置,首先,在配置有存储设备的计算节点上预设的硬盘驱动器HDD存储的视频任务中,确定待迁移任务,该计算节点上预设的固态驱动器SSD的当前剩余存储空间大于处理待迁移任务时所需的存储空间,所述待迁移任务包括至少一个待迁移数据块;接下来,判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值,若为是,则将待迁移任务从HDD迁移至SSD,使所述待迁移任务存储在所述SSD中。

可见,本发明实施例所述的一种基于混合存储的计算系统中的数据迁移方法及装置,能够对配置有存储设备的计算节点中由于存储介质的性能差异而导致的负载不均衡问题,实现配置有存储设备的计算节点中的数据迁移,使配置有存储设备的计算节点中的各存储介质的负载均衡。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的基于混合存储的计算系统中的数据迁移方法的一种流程图;

图2为本发明实施例的基于混合存储的计算系统中的数据迁移方法的又一种流程图;

图3为本发明实施例的基于混合存储的计算系统中的数据迁移方法的另一种流程图;

图4为本发明实施例的基于混合存储的计算系统中的数据迁移方法的再一种流程图;

图5为本发明实施例的基于混合存储的计算系统中的数据迁移方法的再一种流程图;

图6为本发明实施例的基于混合存储的计算系统中的数据迁移装置的一种示意图;

图7为本发明实施例的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,在云平台中,配置有存储设备的计算节点的存储介质通常包括SSD和HDD,由于SSD的平均读写速率等指标均优于HDD,因此,在配置有存储设备的计算节点处理的过程中,SSD对存储的任务处理速度快,剩余的任务量越来越少,而HDD对存储的任务处理速度慢,剩余任务量仍较多,从而导致SSD和HDD上存储的任务量的差异越来越大,导致SSD和HDD的负载不均衡。

在本发明实施例中,在SSD和HDD处理视频任务的场景下,为了避免出现在处理过程中SSD和HDD上存储任务量的差异越来越大,将HDD上的视频任务迁移至SSD上;这样,不仅使SSD资源得到了充分利用,而且减轻了HDD的处理负担,实现了不同存储介质之间的负载均衡。

具体的,本发明实施例提供了一种基于混合存储的计算系统中的数据迁移方法,应用于配置有存储设备的计算节点,配置有存储设备的计算节点包括HDD和SSD。参见图1,图1为本发明实施例的基于混合存储的计算系统中的数据迁移方法的一种流程图,包括如下步骤:

步骤101,在HDD存储的视频任务中,确定待迁移任务。

其中,SSD的剩余存储空间大于处理待迁移任务时所需的存储空间,待迁移任务包括至少一个待迁移数据块。

在本步骤中,将HDD存储的视频任务中,符合下述迁移条件的视频任务确定为需要迁移至SSD上的待迁移任务。迁移条件是指:SSD上剩余的存储空间大于处理待迁移任务时所需的存储空间;具体的,SSD上用于存储视频任务的剩余存储空间、大于存储待迁移任务所需的存储空间,以及SSD上用于存储临时文件的剩余暂存空间、大于待迁移任务在处理过程中所需的暂存空间。

也就是说,待迁移任务需要在SSD的处理能力范围之内,这样,在待迁移任务迁移至SSD之后,SSD有能力顺利处理该任务。

步骤102,判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;若为是,则执行步骤103。

在本步骤中,判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值,进一步限定了待迁移任务需要满足的条件。

其中,迁移时长阈值用于衡量待迁移任务是否能够迁移;具体的,当迁移时长小于迁移时长阈值时,针对待迁移任务的迁移任务不会影响配置有存储设备的计算节点对存储的视频任务的处理任务,也即迁移任务和处理任务可以并行执行;当待迁移任务的迁移时长大于或者等于迁移时长阈值时,迁移任务会影响到配置有存储设备的计算节点对存储的视频任务的处理任务,也即迁移任务和处理任务无法并行执行,在这种情况下,需要进一步考虑是否对该任务进行迁移。当然,也可以根据实际需求,确定迁移时长阈值。

需要说明的是,待迁移任务的迁移时长可以根据公式计算出来,也可以提前设置,具体可以根据实际情况确定迁移时长的获取方法。

步骤103,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

在本步骤中,当待迁移任务的迁移时长小于预设的迁移时长阈值时,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中,以便SSD处理;这样,HDD存储的视频任务能够转为由SSD进行处理,不仅使SSD资源得到了充分利用,而且减轻了HDD的处理负担,实现了不同存储介质之间的负载均衡。

可见,本发明实施例提供的基于混合存储的计算系统中的数据迁移方法,能够对配置有存储设备的计算节点中由于存储介质的性能差异而导致的负载不均衡问题,实现配置有存储设备的计算节点中的数据迁移,使配置有存储设备的计算节点中的各存储介质的负载均衡。

在本发明的另一种优选实施例中,在迁移时长阈值设置为SSD存储的所有视频任务的第二处理总时长的场景下,在图1所示的本发明实施例的基于混合存储的计算系统中的数据迁移方法中的步骤101之前,方法还包括:

计算SSD存储的所有视频任务的第二处理总时长;迁移时长阈值包括第二处理总时长;

对应的,步骤101包括:

判断待迁移任务的预设的迁移时长是否小于第二处理总时长。

在实际应用中,可以将SSD存储的所有视频任务的第二处理总时长,作为预设的迁移时长阈值。

具体的,首先,根据预设的配置有存储设备的计算节点的时间预测模型,计算SSD存储的每个视频任务的第三处理时长

使用如下公式,根据第三处理时长计算SSD存储的视频任务中所有视频任务的第二处理总时长

在公式(1)中,为第二处理总时长;为SSD存储的视频任务中的第q个视频任务的第三处理时长;jobq为SSD存储的视频任务中的第q个视频任务;为SSD存储的视频任务。其中,配置有存储设备的计算节点的时间预设模型在后文中会进行详细说明。

这样,将待迁移任务的迁移时长与第二处理总时长进行比较,在待迁移任务的迁移时长小于第二处理总时长的情况下,当迁移任务完成时,SSD对存储的视频任务的处理尚未完成,此时,可以继续将其他的视频任务迁移至SSD,可见,迁移任务没有影响到SSD的处理效率,也就是说,迁移任务和处理任务可以并行执行;

在待迁移任务的迁移时长大于或者等于第二处理总时长的情况下,当SSD对存储的视频任务的处理已经全部完成时,迁移任务却尚未完成,此时,虽然SSD已经处于空闲状态,但由于迁移任务正在进行,也无法继续迁移其他视频任务至SSD,处理任务只能处于暂停状态,在这种情况下,迁移任务对SSD的处理效率造成了不良影响,也就是说,迁移任务和处理任务无法并行执行。

因此,可以将第二处理总时长作为迁移时长阈值,用于进一步限定待迁移任务需要满足的条件。

在本发明的一种优选实施例中,说明了在图1所示的本发明实施例的基于混合存储的计算系统中的数据迁移方法的一种流程图中,步骤102的判断结果为待迁移任务的预设的迁移时长不小于预设的迁移时长阈值的情况下处理流程,参见图2,图2为本发明实施例的基于混合存储的计算系统中的数据迁移方法的又一种流程图,方法包括:

步骤201,在HDD存储的视频任务中,确定待迁移任务。

步骤202,判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;若为是,则执行步骤203;若为否,则执行步骤204。

步骤203,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

需要说明的是,步骤201、步骤202中当判断结果为待迁移任务的预设的迁移时长小于预设的迁移时长阈值时的场景以及步骤203,分别与图1所示的本发明实施例的基于混合存储的计算系统中的数据迁移方法的一种流程图中的步骤101、步骤102和步骤103的处理步骤及技术效果完全相同,在此不再赘述。

步骤204,若待迁移任务的预设的迁移时长不小于预设的迁移时长阈值,则计算HDD存储的视频任务中除待迁移任务以外的其他视频任务的第一处理总时长;

在本步骤中,由于待迁移任务所需的迁移时长较大,大于迁移时长阈值,那么,迁移该任务可能会对HDD和SSD的处理效率造成较大影响,在这种情况下,需要进一步考虑是否该任务进行迁移。

具体的,计算HDD存储的视频任务中,除待迁移任务以外的其他视频任务的第一处理总时长,以便将迁移时长与第一处理总时长进行比较,以确定迁移该任务对SSD和HDD的处理效率可能造成的影响,最终确定是否迁移该任务。

步骤205,判断迁移时长是否小于第一处理总时长;若为是,则执行步骤206。

在本步骤中,判断待迁移任务的迁移时长是否小于第一处理总时长;当待迁移任务的迁移时长大于或者等于第一处理总时长时,迁移任务和处理任务无法并行执行,也就是说,当HDD对存储的视频任务的处理已经全部完成时,迁移任务却尚未完成,对HDD的处理效率造成了不良影响。

步骤206,将待迁移任务从HDD迁移至SSD。

在本步骤中,当待迁移任务的迁移时长小于第一处理总时长时,迁移任务和处理任务可以并行执行;当迁移任务完成时,HDD对存储的视频任务的处理尚未完成,这样,迁移任务不会影响到HDD的处理效率,因此,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

这样,HDD存储的视频任务能够转为由SSD进行处理,不仅使SSD资源得到了充分利用,而且减轻了HDD的处理负担,实现了不同存储介质之间的负载均衡。

本发明又提出了一种优选实施例,参见图3,图3为本发明实施例的基于混合存储的计算系统中的数据迁移方法的另一种流程图,方法包括:

步骤301,判断配置有存储设备的计算节点上是否有迁移任务正在执行;若为否,则执行步骤302;

在本发明实施例中,在一个配置有存储设备的计算节点上,同一时刻只能执行一个迁移任务。因此,在本步骤中,先判断该计算节点上是否有正在执行的迁移任务,如果有,则迁移流程结束。

步骤302,使用如下公式,在HDD存储的视频任务中,将处理时所需的存储空间、小于或者等于SSD的剩余存储空间的视频任务确定为待选任务;

在公式(2)和公式(3)中,Ci为所述计算节点的编号;为所述计算节点上所述SSD已使用的存储空间大小;dbcur为当前已完成视频任务所占有的所述SSD的存储空间;dbj为保存HDD存储的视频任务中,第j个视频任务所需的存储空间;为所述计算节点所述SSD的具有的总的存储空间大小;为SSD剩余的暂存空间;为处理HDD存储的视频任务中,第j个视频任务所需的暂存空间。

可以理解的,满足公式(2)和公式(3)的待选任务jobj在SSD的处理能力之内,若待选任务jobj迁移到SSD上,SSD能够顺利处理;需要说明的是,待选任务jobj可能有多个。

步骤303,计算每个待选任务的第二处理时长;

在本步骤中,计算由步骤302确定的每个待选任务jobj的第二处理时长。

在实际应用中,可以使用预设的配置有存储设备的计算节点的时间预设模型来计算,详细过程在后文中会进行说明。

步骤304,将待选任务中,第二处理时长最长的视频任务jobk确定为待迁移任务;

在本步骤中,将待选任务jobj中第二处理时长最长的视频任务jobk确定为待迁移任务。

这样,待迁移任务不仅在SSD的处理能力之内,而且还是待选任务jobj中处理时长最长的一个,也就是说,待迁移任务jobk是待选任务jobj中最复杂、包含数据量最大的任务,将待迁移任务jobk迁移至SSD,能够有效减轻HDD的负载量,同时,又不至于超过SSD的处理能力。

步骤305,使用如下公式,计算待迁移任务的迁移时长

在公式(4)中,Ci为所述计算节点的编号;k为待迁移任务的编号;为待迁移任务的迁移时长,dbk为保存待迁移任务所需的存储空间;为SSD的平均写速率;HDD的平均读速率。

由公式(4)可知,待迁移任务jobk的迁移时长与SSD的平均写速率和HDD的平均读速率均有关。

步骤306,判断计算出的待迁移任务的迁移时长是否小于预设的迁移时长阈值;若为是,则执行步骤307;

在本步骤中,判断步骤305计算得到的迁移时长是否小于预设的迁移时长阈值;如果迁移时长较大,以至于大于迁移时长阈值,那么,迁移待迁移任务jobk可能会对HDD和SSD的处理性能造成较大影响,在这种情况下,需要进一步考虑是否对待迁移任务jobk进行迁移。

步骤307,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

在本步骤中,当迁移时长小于预设的迁移时长阈值时,将待迁移任务jobk从HDD迁移至SSD,使待迁移任务jobk存储在SSD中,以便SSD处理;这样,HDD存储的视频任务能够转为由SSD进行处理,不仅使SSD资源得到了充分利用,而且减轻了HDD的处理负担,实现了不同存储介质之间的负载均衡。

可见,在本发明实施例中,在确定配置有存储设备的计算节点上没有正在进行的迁移任务的前提下,可以将HDD存储的视频任务迁移至SSD,转为由SSD进行处理,不仅使SSD资源得到了充分利用,而且减轻了HDD的处理负担,实现了不同存储介质之间的负载均衡。

在本发明的一种优选实施例中,可以使用配置有存储设备的计算节点的时间预测模型,其中,时间预测模型用于根据视频任务的任务量、视频任务包括的视频任务类型、配置有存储设备的计算节点的CPU处理能力以及配置有存储设备的计算节点中SSD和HDD的平均读写速率,计算视频任务所需的第一处理时长。

具体的,上述计算HDD存储的视频任务中除待迁移任务以外的其他视频任务的第一处理总时长的步骤,包括:

根据预设的配置有存储设备的计算节点的时间预测模型,计算HDD存储的视频任务中除待迁移任务以外的每个视频任务的第一处理时长

使用如下公式,根据第一处理时长计算HDD存储的视频任务中除待迁移任务以外的其他视频任务的第一处理总时长

在公式(5)中,为第一处理总时长;为HDD存储的视频任务中的第l个视频任务的第一处理时长;jobl为HDD存储的视频任务中的第l个视频任务;为HDD存储的视频任务。

下面对时间预测模型进行详细说明:

对于在配置有存储设备的计算节点Cj上运行的视频任务A,可以使用公式(6),计算出所需的处理时长:

在公式(6)中,M为与视频任务A相关的视频数据块的个数;为第i个视频数据块所需的处理时长;需要说明的是,每个视频数据块的任务类型不同,比如有的视频数据块的任务类型是视频浓缩,有的视频数据块的任务类型是越界检测等。

第i个视频数据块所需的处理时长的计算公式如公式(7)所示,第i个视频数据块所需的处理时长不仅包括CPU的计算时长,而且包括IO的处理时长。

在公式(7)中,sk为第i个视频数据块的任务类型;为在该计算节点Cj处理第i个视频数据块时,处理单位长度视频的CPU的平均计算时长;其中分别为第i个视频数据块的视频开始时间和结束时间;Wi为第i个视频数据块的视频体积大小;分别为该计算节点Cj的平均数据读写速率。由于该计算节点Cj包括SSD和HDD,因此,公式(6)中的包括两组值,分别为该计算节点Cj上SSD的视频数据的平均读写速率,以及该计算节点Cj上HDD的视频数据的平均数据读写速率。

公式(7)中的值可以通过在该计算节点Cj的CPU上运行大量的任务类型为sk的视频数据块,获得多组处理单位长度视频的CPU的计算时长的数据,然后求多组数据的平均值,即为

针对视频数据块的任务类型sk,还需要进一步说明的是:

首先,将视频数据块的不同分辨率定义为集合R={r1,r2,...,rm},其中,m表示集合R中分辨率的数量,rm表示集合R中的第m种分辨率;此外,将视频数据块的不同帧率定义为集合F={f1,f2,...,fn},其中,n表示集合F中帧率的数量,fn表示集合F中的第n种帧率。

然后,根据不同分辨率的集合R和不同帧率的集合F,提出视频质量的概念,用Q表示,如公式(8)所示:

Q=R×F (8)

在公式(8)中,集合Q是集合R和集合F的笛卡尔积;比如,当R={r1,r2},F={f1,f2}时,Q={(r1,f1),(r1,f2),(r2,f1),(r2,f2)};集合Q中的每一个元素,比如(r1,f1)或者(r1,f2),表示一个标准视频质量级别。

同时,将视频数据块的不同人物类型定义为集合Z={z1,z2,...,zq},其中,q表示集合Z中有任务类型的数量。

这样,根据集合Q和集合Z,生成集合S,如公式(9)所示:

S=Q×Z (9)

集合S是集合Q和集合Z的笛卡尔积,集合S中的每一个元素代表视频数据块的一种任务类型,比如,当Q={(r1,f1),(r2,f2)},Z={z1,z2}时,S={(z1,r1,f1),(z1,r2,f2),(z2,r1,f1),(z2,r2,f2)}。

可见,在本发明实施例中,可以使用配置有存储设备的计算节点的时间预测模型,准确计算出视频任务所需的处理时长,不仅考虑了CPU的处理能力,而且考虑到不同存储介质的平均读写速率。

本发明的一种优选实施例中,参见图4,图4为本发明实施例的基于混合存储的计算系统中的数据迁移方法再一种流程图,方法包括:

步骤401,判断预设的优先任务列表中是否存在视频任务;若为是,则执行步骤402,若为否,则执行步骤403;

需要说明的是,配置有存储设备的计算节点的迁移任务和处理任务是并行进行、且互不干扰的。

在本发明实施例中,在一个配置有存储设备的计算节点中,首先处理优先任务列表中的视频任务,然后处理SSD存储的视频任务,最后处理HDD存储的视频任务。

在本步骤中,先判断配置有存储设备的计算节点上预设的优先任务列表中是否存在视频任务。

步骤402,从优先任务列表中选择任一视频任务作为待处理任务;

在本步骤中,在步骤401确定优先任务列表中存在视频任务时,从优先任务列表中选择任一视频任务作为待处理任务;这样,就能够实现优先处理优先任务列表中的视频任务。

步骤403,判断SSD中是否存储有视频任务;若为是,则执行步骤404,若为否,则执行步骤405;

在本步骤中,在步骤401确定优先任务列表中不存在视频任务时,判断SSD中是否存储有视频任务;这样,在优先任务列表中没有待处理的视频任务的情况下,再确定SSD中是否存在待处理的视频任务。

步骤404,从SSD存储的视频任务中选择任一视频任务作为待处理任务;

在本步骤中,在步骤403确定SSD中存在视频任务时,从SSD存储的视频任务中选择任一视频任务作为待处理任务;这样,实现了在确定优先任务列表中没有待处理任务的情况下,继续处理SSD中存储的视频任务。

步骤405,从HDD存储的视频任务中选择任一视频任务作为待处理任务。

在本步骤中,在步骤403确定SSD中不存在视频任务时,从HDD存储的视频任务中选择任一视频任务作为待处理任务;这样,实现了在确定优先任务列表和SSD中均没有待处理任务的情况下,继续处理HDD中存储的视频任务。

可选的,当图2所示的本发明实施例的基于混合存储的计算系统中的数据迁移方法的又一种流程图中,步骤202判断结果为迁移时长是否小于第一处理总时长时,方法还包括:

从HDD存储的视频任务中,确定待加入优先任务列表的优先任务,优先任务包括多个视频任务,优先任务的第三处理总时长小于或者等于迁移时长;

将优先任务加入到优先任务列表中。

具体的,在步骤203中,当待迁移任务的迁移时长小于第一处理总时长时,除了执行将待迁移任务从HDD迁移至SSD,此外,还从HDD存储的视频任务中,确定待加入优先任务列表的优先任务,并将优先任务加入到优先任务列表中,以使配置有存储设备的计算节点优先处理优先任务。

这样,在将待迁移任务从HDD迁移至SSD的迁移任务执行过程的同时,从HDD存储的视频任务中确定的优先任务也由HDD正在处理中;并且,优先任务的第三处理总时长小于或者等于迁移时长,也就是说,当待迁移任务从HDD至SSD的迁移任务完成时,优先任务的处理任务尚未完成;这样,迁移任务和处理任务可以并行执行,且迁移任务不会对处理任务造成不良影响。

需要说明的是,优先任务列表存储在HDD上,当然,也可以根据实际情况,确定优先任务列表的保存位置。

针对优先任务,还需要进一步说明的是,可选的,上述从HDD存储的视频任务中,确定待加入优先任务列表的优先任务,优先任务包括多个视频任务,优先任务的第三处理总时长小于或者等于迁移时长的步骤,具体包括:

从HDD存储的视频任务中,使用如下公式确定待加入优先任务列表的优先任务,优先任务包括n个视频任务,n个视频任务的第三处理总时长小于或者等于迁移时长;

在公式(10)和公式(11)中,为待迁移任务的迁移时长;为HDD存储的视频任务中的第l个视频任务的第一处理时长;为优先任务的第三处理总时长;jobl为HDD存储的视频任务中的第l个视频任务;n为优先任务中视频任务的数量。

可知,n个视频任务的处理总时长小于或者等于迁移时长,n+1个视频任务的处理总时长大于迁移时长,当优先任务包括n个视频任务时,边执行针对待迁移任务的迁移任务,边执行针对优先任务的处理任务,处理优先任务所需的第三处理总时长会稍长于迁移任务所需的迁移时长;这样,迁移任务和处理任务可以并行执行,且迁移任务不会对处理任务造成不良影响。

下面举出一个具体实施例来说明本发明实施例提出的数据迁移方法,如图5所示,图5为本发明实施例的基于混合存储的计算系统中的数据迁移方法的再一种流程图,具体步骤如下:

步骤501,判断配置有存储设备的计算节点是否有迁移任务正在进行;若为是,则执行步骤502,若为否,则执行步骤503;

步骤502,更新正在进行的迁移任务的剩余迁移时长;执行步骤512;

具体的,使用公式(12),计算正在进行的迁移任务的剩余迁移时长;

在公式(12)中,为正在进行的迁移任务的剩余迁移时长;为正在处理的视频任务所需的处理时长。

需要说明的是,迁移任务和处理任务是并行进行的。当处理一个视频任务花费的时长为t时,并行的迁移任务进行时长也为t;在迁移任务的开始时间早于处理任务,且剩余迁移时长为t1的情况下,处理任务随后开始并完成后,更新后的迁移任务的剩余迁移时长也就为t1-t了。

步骤503,判断HDD存储的视频任务中,是否存在处理时所需的存储空间、小于或者等于SSD的剩余存储空间的视频任务,若为是,则执行步骤504,若为否,则执行步骤511;

具体的,可以根据前文中的公式(2)和公式(3),判断在HDD存储的视频任务中,是否存在符合条件的视频任务。

步骤504,将处理时所需的存储空间、小于或者等于SSD的剩余存储空间的视频任务确定为待选任务;将待选任务中,处理时长最长的视频任务确定为待迁移任务;

其中,待选任务为至少一个视频任务。

步骤505,计算待迁移任务的迁移时长;

具体的,可以根据前文中的公式(4),计算待迁移任务的迁移时长

步骤506,计算SSD存储的所有视频任务的第二处理总时长;

具体的,可以根据前文中的公式(1),计算SSD存储的所有视频任务的第二处理总时长

步骤507,判断计算出的待迁移任务的迁移时长是否小于第二处理总时长;若为是,则执行步骤510,若为否,则执行步骤508;

其中,第二处理总时长相当于迁移时长阈值。

这样,将待迁移任务的迁移时长与第二处理总时长进行比较,当待迁移任务的迁移时长小于第二处理总时长时,迁移任务和处理任务可以并行执行;当迁移任务完成时,SSD对存储的视频任务的处理尚未完成,此时,可以继续将其他的视频任务迁移至SSD,可见,迁移任务没有影响到SSD的处理效率;

当待迁移任务的迁移时长大于或者等于第二处理总时长时,迁移任务会对SSD的处理任务造成不良影响;当SSD对存储的视频任务的处理已经全部完成时,迁移任务却尚未完成,也就是说,此时,虽然SSD已经处于空闲状态,但由于迁移任务正在进行,也无法继续迁移其他视频任务至SSD,可见,迁移任务对SSD的处理效率造成了不良影响。

步骤508,计算HDD存储的视频任务中除待迁移任务以外的其他视频任务的第一处理总时长;

具体的,可以根据前文中的公式(5),计算HDD存储的视频任务中除待迁移任务以外的其他视频任务的第一处理总时长

步骤509,判断迁移时长是否小于第一处理总时长;若为是,则执行步骤510;若为否,则执行步骤511;

在本步骤中,将迁移时长与第一处理总时长进行比较;当待迁移任务的迁移时长大于或者等于第一处理总时长时,迁移任务和处理任务无法并行执行,也就是说,当HDD对存储的视频任务的处理已经全部完成时,迁移任务却尚未完成,对HDD的处理效率造成了不良影响;当待迁移任务的迁移时长小于第一处理总时长时,迁移任务和处理任务可以并行执行;当迁移任务完成时,HDD对存储的视频任务的处理尚未完成,这样,迁移任务不会影响到HDD的处理效率。

步骤510,将待迁移任务从HDD迁移至SSD;

在本步骤中,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

步骤511,流程结束。

可见,在本发明实施例中,在确定配置有存储设备的计算节点上没有正在进行的迁移任务的前提下,可以将HDD存储的视频任务中、符合条件的待迁移任务迁移至SSD,由SSD进行处理;这样,不仅使SSD资源得到了充分利用,而且减轻了HDD的处理负担,实现了不同存储介质之间的负载均衡。

本发明实施例还提供了一种基于混合存储的计算系统中的数据迁移装置,应用于配置有存储设备的计算节点,配置有存储设备的计算节点包括HDD和SSD。参见图6,图6为本发明实施例的基于混合存储的计算系统中的数据迁移装置的一种示意图;基于混合存储的计算系统中的数据迁移装置包括:

第一确定单元601,用于在所述HDD存储的视频任务中,确定待迁移任务,其中,所述SSD的剩余存储空间大于处理所述待迁移任务时所需的存储空间,所述待迁移任务包括至少一个待迁移数据块;

第一判断单元602,用于判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;

第一迁移单元603,用于若判断单元的结果为待迁移任务的预设的迁移时长小于预设的迁移时长阈值,则将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

优选的,装置还包括:

第一计算单元,用于若待迁移任务的预设的迁移时长不小于预设的迁移时长阈值,则计算HDD存储的视频任务中除待迁移任务以外的其他视频任务的第一处理总时长;

第二判断单元,用于判断迁移时长是否小于第一处理总时长;

第二迁移单元,用于若第二判断单元的结果为迁移时长小于第一处理总时长,则将待迁移任务从HDD迁移至SSD。

优选的,第一计算单元,包括:第一计算子单元和第二计算子单元;

第一计算子单元,用于根据预设的配置有存储设备的计算节点的时间预测模型,计算所述HDD存储的视频任务中除所述待迁移任务以外的每个视频任务的第一处理时长所述时间预测模型用于根据视频任务的任务量、所述视频任务包括的视频任务类型、所述计算节点的CPU处理能力以及所述计算节点中SSD和HDD的平均读写速率,计算所述视频任务所需的第一处理时长;

第二计算子单元,用于使用如下公式,根据第一处理时长计算HDD存储的视频任务中除待迁移任务以外的其他视频任务的第一处理总时长

其中,为第一处理总时长;为HDD存储的视频任务中的第l个视频任务的第一处理时长;jobl为HDD存储的视频任务中的第l个视频任务;为HDD存储的视频任务。

优选的,装置还包括:

第三判断单元,用于判断所述计算节点上是否有迁移任务正在执行;

第二确定单元,用于若第三判断单元的结果为存储节点上没有迁移任务正在执行,则使用如下公式,在HDD存储的视频任务中,将处理时所需的存储空间、小于或者等于SSD的剩余存储空间的视频任务确定为待选任务;

其中,Ci为所述计算节点的编号;为所述计算节点的所述SSD的已使用的存储空间大小;dbcur为当前已经处理完成的视频任务所占用的所述SSD的存储空间;dbj为保存所述HDD存储的视频任务中,第j个视频任务所需的存储空间;为所述计算节点上所述SSD的总存储空间大小;为所述SSD剩余的暂存空间;为处理所述HDD存储的视频任务中,第j个视频任务所需的暂存空间;

第二计算单元,用于计算每个待选任务的第二处理时长;

第一确定单元601,具体用于将待选任务中,第二处理时长最长的视频任务jobk确定为待迁移任务;

装置还包括:

第三计算单元,用于使用如下公式,计算待迁移任务的迁移时长

其中,Ci为所述计算节点的编号;k为所述待迁移任务的编号;为所述待迁移任务的迁移时长,dbk为保存所述待迁移任务所需的存储空间;为所述SSD的平均写速率;所述HDD的平均读速率;

第一判断单元602,具体用于判断计算出的待迁移任务的迁移时长是否小于预设的迁移时长阈值;

第一迁移单元603,具体用于若迁移时长小于预设的迁移时长阈值,将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

优选的,装置还包括:

第四计算单元,用于计算SSD存储的所有视频任务的第二处理总时长;迁移时长阈值包括第二处理总时长;

第一判断单元602,具体用于判断待迁移任务的预设的迁移时长是否小于第二处理总时长。

优选的,装置还包括:

第四判断单元,用于判断预设的优先任务列表中是否存在视频任务;

第一选择单元,用于若第四判断单元的结果为优先任务列表中存在视频任务,则从优先任务列表中选择任一视频任务作为待处理任务;

第二选择单元,用于若第四判断单元的结果为优先任务列表中不存在视频任务,则判断SSD中是否存储有视频任务;若为是,则从SSD存储的视频任务中选择任一视频任务作为待处理任务;若为否,则从HDD存储的视频任务中选择任一视频任务作为待处理任务;

装置还包括:

第三确定单元,用于从HDD存储的视频任务中,确定待加入优先任务列表的优先任务,优先任务包括多个视频任务,优先任务的第三处理总时长小于或者等于迁移时长;

加入单元,用于将优先任务加入到优先任务列表中。

优选的,第三确定单元,具体用于从HDD存储的视频任务中,使用如下公式确定待加入优先任务列表的优先任务,优先任务包括n个视频任务,n个视频任务的第三处理总时长小于或者等于迁移时长;

其中,为待迁移任务的迁移时长;为HDD存储的视频任务中的第l个视频任务的第一处理时长;为优先任务的第三处理总时长;jobl为HDD存储的视频任务中的第l个视频任务;n为优先任务中视频任务的数量。

可见,本发明实施例提供的基于混合存储的计算系统中的数据迁移装置,能够对存储节点中由于存储介质的性能差异而导致的负载不均衡问题,实现存储节点中的数据迁移,使存储节点中的各存储介质的负载均衡。

本发明实施例又提供了一种电子设备,如图7所示,图7为本发明实施例的电子设备的结构示意图;电子设备包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:

在HDD存储的视频任务中,确定待迁移任务,其中,SSD的剩余存储空间大于处理待迁移任务时所需的存储空间,待迁移任务包括至少一个待迁移数据块;

判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;

若为是,则将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可见,本发明实施例提供的电子设备,能够对存储节点中由于存储介质的性能差异而导致的负载不均衡问题,实现存储节点中的数据迁移,使存储节点中的各存储介质的负载均衡。

本发明实施例另提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现如下步骤:

在HDD存储的视频任务中,确定待迁移任务,其中,SSD的剩余存储空间大于处理待迁移任务时所需的存储空间,待迁移任务包括至少一个待迁移数据块;

判断待迁移任务的预设的迁移时长是否小于预设的迁移时长阈值;

若为是,则将待迁移任务从HDD迁移至SSD,使待迁移任务存储在SSD中。

可见,本发明实施例提供的计算机可读存储介质,能够对存储节点中由于存储介质的性能差异而导致的负载不均衡问题,实现存储节点中的数据迁移,使存储节点中的各存储介质的负载均衡。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号