CN117472873A - 数据迁移方法、装置、计算设备集群及存储介质 - Google Patents
数据迁移方法、装置、计算设备集群及存储介质 Download PDFInfo
- Publication number
- CN117472873A CN117472873A CN202210872167.1A CN202210872167A CN117472873A CN 117472873 A CN117472873 A CN 117472873A CN 202210872167 A CN202210872167 A CN 202210872167A CN 117472873 A CN117472873 A CN 117472873A
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- time period
- access
- storage space
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 260
- 230000005012 migration Effects 0.000 title claims abstract description 129
- 238000013508 migration Methods 0.000 title claims abstract description 129
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000008859 change Effects 0.000 claims abstract description 68
- 230000006870 function Effects 0.000 claims description 21
- 238000009499 grossing Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 abstract description 28
- 230000008569 process Effects 0.000 abstract description 27
- 238000010586 diagram Methods 0.000 description 19
- 238000005070 sampling Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 12
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 238000005129 volume perturbation calorimetry Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000001932 seasonal effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据迁移方法、装置、计算设备集群及存储介质,属于计算机技术领域。本申请提供的技术方案中,基于数据集在第一时间段内被访问的数据量生成第一访问趋势信息,并基于第一访问趋势信息来预测第一时间段之后的第二时间段内的第二访问趋势信息,从而根据该第二访问趋势信息和访问量阈值来对该数据集进行数据迁移。通过上述技术方案,参考了历史一段时间内数据集被访问的数据量的变化趋势,从而根据历史变化趋势中的规律性,对未来一段时间内被访问的数据量的变化趋势进行准确预测,进而为未来一段时间内进行数据迁移的过程提供指导,有效地提升了数据迁移的效率,大大节省了数据存储的成本。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据迁移方法、装置、计算设备集群及存储介质。
背景技术
数据库(database,DB)是一种按数据结构来存储和管理数据的计算机软件系统。根据数据库中数据被更新和访问的频率,可以将数据分为冷数据和热数据。在生产过程中,通常使用能够提供高存储性能的存储服务,例如,基于固态硬盘(solid state disk,SSD)来存储被频繁更新和访问的热数据。而不经常被更新和访问的冷数据,通常会被迁移至存储性能较低的存储服务中,例如,对象存储服务(object storage service,OSS),以节省成本。
目前,通常由数据库管理员(database administrator,DBA)先识别冷数据,再基于数据定义语言(data definition language,DDL)编写针对冷数据的DDL命令,来实现对冷数据的迁移。
然而,上述技术方案由DBA自行识别出冷数据,再通过DDL命令进行数据迁移的过程耗费的运营成本很大,数据迁移的效率很低。
发明内容
本申请提供了一种数据迁移方法、装置、计算设备集群及存储介质,能够有效提升数据迁移的效率,大大节省数据存储的成本。该技术方案如下:
第一方面,提供了一种数据迁移方法,该方法包括:
基于数据集在第一时间段内被访问的数据量,确定该数据集在该第一时间段内的第一访问趋势信息,该第一访问趋势信息指示该数据集在该第一时间段内被访问的数据量的变化趋势;
基于该第一访问趋势信息,预测该数据集在第二时间段内的第二访问趋势信息,该第二访问趋势信息指示该数据集在该第二时间段内预计被访问的数据量的变化趋势,该第二时间段为该第一时间段之后的时间段;
基于该第二访问趋势信息和访问量阈值,在该第二时间段开始前对该数据集进行迁移,该访问量阈值用于预测该数据集在该第二时间段内是否会被访问。
通过上述技术方案,参考了历史一段时间内数据集被访问的数据量的变化趋势,从而根据历史变化趋势中的规律性,对未来一段时间内被访问的数据量的变化趋势进行准确预测,进而为未来一段时间内进行数据迁移的过程提供指导,有效地提升了数据迁移的效率,大大节省了数据存储的成本。
在一种可能实施方式中,该第一时间段包括多个子时间段,该基于数据集在第一时间段内被访问的数据量,确定该数据集在该第一时间段内的第一访问趋势信息,包括:
基于该数据集在该多个子时间段内被访问的数据量,得到多个趋势点,该多个趋势点之间的时间顺序基于该多个子时间段在该第一时间段中的顺序确定,该趋势点的坐标对应于该子时间段内被访问的数据量;
基于该多个趋势点,确定用于表示该第一访问趋势信息的时变趋势曲线。
通过上述技术方案,在统计到准确数据的基础上,能够以图表的形式,建立起第一时间段内数据集被访问的数据量的随时间变化的情况,从而直观地展示出该数据集被访问数据量的变化趋势,进而能够快速准确地捕捉到其中的规律性。
在一种可能实施方式中,该基于数据集在第一时间段内被访问的数据量,确定该数据集在该第一时间段内的第一访问趋势信息之前,该方法还包括:
基于该第一时间段内针对该数据集的多个数据访问请求,确定该数据集在该第一时间段内被访问的数据量。
通过上述技术方案,能够基于多个数据访问请求,统计得到该数据集在多个子时间段内被访问的数据量,从而提升统计得到的数据量的准确性。
在一种可能实施方式中,该基于该第一访问趋势信息,预测该数据集在第二时间段内的第二访问趋势信息,包括:
基于预测函数对该第一访问趋势信息进行处理,得到该数据集在该第一时间段内被访问的数据量的变化趋势所对应的变化规律参数;
基于该变化规律参数和该第一访问趋势信息,确定该第二访问趋势信息。
通过上述技术方案,能够从历史一段时间内的数据量变化趋势中,确定出多种维度的变化规律参数,从历史数据中精准地分析得到能够用于预测未来数据量变化趋势的有效信息,进而模拟出第二时间段内该数据集预计被访问的数据量的变化趋势,进而为后续进行数据迁移提供可靠的数据支持,从而大大提升了数据迁移的效率。
在一种可能实施方式中,该基于该第二访问趋势信息和访问量阈值,在该第二时间段开始前对该数据集进行迁移,包括:
若存储在第一存储空间中的该数据集在该第二时间段内预计被访问的数据量小于该访问量阈值,在该第二时间段开始前,将该数据集从该第一存储空间迁移至第二存储空间中存储,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集。
通过上述技术方案,能够实现提前进行数据迁移的目的,从而能够在无需人工管理维护的情况下,有效提升存储空间的利用率。
在一种可能实施方式中,该若存储在第一存储空间中的该数据集在该第二时间段内预计被访问的数据量小于该访问量阈值,在该第二时间段开始前,将该数据集从第一存储空间迁移至第二存储空间中存储,包括:
若存储在第一存储空间中的该数据集在该第二时间段内预计被访问的数据量小于该访问量阈值,在该第二时间段开始前,基于多个该第二存储空间的负载信息,从该多个第二存储空间中确定目标第二存储空间,该目标第二存储空间存储数据集的效率满足目标条件;
将该数据集从该第一存储空间迁移至该目标第二存储空间中存储。
通过上述技术方案,能够基于数据存储系统中的多个存储空间的负载情况进行迁移决策,从而以能够最大程度地节约成本,提升存储空间的利用率。
在一种可能实施方式中,该基于该第二访问趋势信息和访问量阈值,在该第二时间段开始前对该数据集进行迁移,包括:
若存储在第二存储空间中的该数据集在该第二时间段内预计被访问的数据量大于该访问量阈值,在该第二时间段开始前,将该数据集从该第二存储空间迁移至第一存储空间中存储,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集。
通过上述技术方案,能够实现提前进行数据回迁的目的,从而能够在无需人工管理维护的情况下,及时地将数据取回到高性能存储中,保证业务流畅地进行。
在一种可能实施方式中,该基于该第一访问趋势信息,预测该数据集在第二时间段内的第二访问趋势信息之前,该方法还包括:
对该第一访问趋势信息进行平滑处理。
通过上述技术方案,能够提升后续基于该第一访问趋势信息进行预测的准确性。
在一种可能实施方式中,该基于该第二访问趋势信息和访问量阈值,在该第二时间段开始前对该数据集进行迁移,包括:
将存储在第一存储空间中的该数据集迁移至第二存储空间中存储,该第一存储空间对应于至少一个备份存储空间,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集;
该方法还包括:
将该至少一个备份存储空间中存储的该数据集删除。
通过上述技术方案,在主从备份模式下进行数据迁移,能够在提供备份的同时,保证数据的一致性,从而为数据迁移提供多重数据保障,有效提升数据迁移的可靠性。
第二方面,提供了一种数据迁移装置,该装置包括多个功能模块,用于执行如第一方面所提供的数据迁移方法中的对应步骤。
第三方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;该至少一个计算设备的处理器用于执行该至少一个计算设备的存储器中存储的指令,以使得该计算设备集群执行如第一方面所述的数据迁移方法。
第四方面,提供了一种计算机可读存储介质,包括计算机程序指令,当该计算机程序指令由计算设备集群执行时,该计算设备集群执行如第一方面所述的数据迁移方法。
第五方面,提供了一种计算机程序产品,当所述计算机程序产品在计算设备集群上运行时,使得该计算设备集群执行如第一方面所述的数据迁移方法。
附图说明
图1是本申请实施例提供的一种数据存储系统的架构图;
图2是本申请实施例提供的一种数据迁移服务的部署图;
图3是本申请实施例提供的一种计算设备的硬件结构示意图;
图4是本申请实施例提供的一种数据迁移方法的流程示意图;
图5是本申请实施例提供的一种访问量记录的示意图;
图6是本申请实施例提供的一种访问量记录表更新过程的示意图;
图7是本申请实施例提供的一种时变趋势曲线的示意图;
图8是本申请实施例提供的一种指数平滑过程的示意图;
图9是本申请实施例提供的一种主从模式下的访问量记录表的示意图;
图10是本申请实施例提供的一种数据迁移模块的示意图;
图11是本申请实施例提供的一种数据迁移装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在介绍本申请实施例提供的技术方案之前,下面先对本申请涉及的关键术语进行说明。
冷数据(cold data):不经常被访问的离线类数据,例如,备份和归档数据、业务与操作日志数据。冷数据对存储性能要求较低,一般要求大容量存储介质。
热数据(hot data):被频繁访问的在线类数据,例如,用户经常查询的数据。热数据对存储性能的要求较高。
预测函数(predictive function):能够基于历史数据的预测未来数据的数学工具。
对象存储(object storage):是一种以对象(object)的形式在存储空间(bucket)中存储数据的存储服务。其中,对象是存储数据的基本单元,对象由元信息(object meta),数据(data)和文件名(Key)组成,并且由存储空间内部唯一的Key来标识。存储空间也称为桶,是存储对象(object)的容器。
接下来对本申请实施例提供的技术方案应用的数据存储系统进行介绍。
图1是本申请实施例提供的一种数据存储系统的架构图,本申请实施例提供的数据迁移方法能够应用在该数据存储系统中。参见图1,该数据存储系统100包括计算设备集群和多个存储空间120,该计算设备集群包括至少一个计算设备110。
其中,该数据存储系统100用于提供数据存储服务。在一些实施例中,该多个存储空间120包括用于存储热数据的第一存储空间,例如,能够提供高每秒读写次数(input/output operations per second,IOPS)和低时延的固态硬盘SSD;该多个存储空间120还包括用于存储冷数据的第二存储空间,例如,能够提供大容量低成本存储服务的对象存储。在一些实施例中,该第一存储空间也被称为高性能存储或热存储,该第二存储空间也被称为冷存储。
在一些实施例中,该多个存储空间120中的数据以数据集的形式存储。其中,数据集的数据结构基于该存储空间的数据存储架构确定,例如,该存储空间是关系型数据库,则该存储空间中存储的数据集可以是关系型数据表;又例如,该存储空间是对象存储,则该存储空间中存储的数据集可以是对象,本申请实施例对数据集的数据结构不作限定。在另一些实施例中,数据集的粒度可以按照业务需求确定,例如,数据集可以是数据表,也可以是数据表的表分区,本申请实施例对数据集的粒度不做限定。
其中,该计算设备110用于对该多个存储空间120中所存储的数据集进行管理,从而提供针对数据集的数据迁移服务,例如,该计算设备是能够访问多个云数据库的云服务器。在一些实施例中,该计算设备110能够实时获取到该多个存储空间120中数据被访问的情况,从而在该多个存储空间120中,针对数据集进行数据迁移。在一些实施例中,该计算设备110能够响应于对任一存储空间120中数据的读写操作,在该多个存储空间120中读写数据,本申请实施例对计算设备110能够实现的更多功能不作限定。
在一些实施例中,本申请提供的数据迁移方法能够以计算实例的形式在上述数据存储系统100中实现。其中,该计算实例能够以虚拟机、容器或进程的形式运行在该计算设备110中,也即是,本申请提供的数据迁移方法能够作为逻辑上的功能模块,配置在上述至少一个计算设备110中。为了便于理解,本申请实施例提供了一种数据迁移服务的部署图,参见图2,其中,该计算设备210中运行有用于管理数据库的结构化查询语言(structuredquery language,SQL)组件211,该SQL组件211用于对该计算设备210所管理的热存储212和冷存储220中的数据集进行读写,其中,该SQL组件211包括解析模块、查询优化模块和执行模块,该SQL组件的工作原理将在后文中详细介绍,在此不作赘述;该计算设备210中部署有用于对热存储212和冷存储220中的数据集进行数据迁移的数据迁移模块213。示例性地,上述计算设备110提供数据迁移服务的过程,也即是,该数据迁移模块213实现数据迁移方法的过程,包括下述步骤1至步骤3。
步骤1、计算设备基于数据集在第一时间段内被访问的数据量,确定该数据集在该第一时间段内的第一访问趋势信息,该第一访问趋势信息指示该数据集在该第一时间段内被访问的数据量的变化趋势。
其中,该数据集可以是存储在上述任一存储空间中的数据集,例如,该数据集可以是第一存储空间中的热数据,也可以是第二存储空间中的冷数据,本申请实施例对此不作限定。
在一些实施例中,该计算设备中存储有配置信息,该配置信息指示对该多个存储空间中的数据集进行数据迁移所涉及的参数。在一些实施例中,该配置信息包括采样周期,其中,该采样周期指示每间隔多长时间对数据集被访问的数据量进行统计。其中,该第一时间段包括多个采样周期,基于此,该第一访问趋势信息能够以采样周期作为体现变化趋势的时间单位,指示该第一时间段内该数据集被访问的数据量的变化趋势。
在一些实施例中,该第一时间段的起止范围可以根据业务的循环周期确定,其中,该业务通过上述数据存储系统提供的存储空间来存储业务数据,基于此,该计算设备能够为该业务提供数据迁移服务。由于业务会受到生产习惯、自然条件等因素的影响,业务涉及的数据通常具备一定的规律性,从而具有循环周期,因此,本申请中第一时间段的起止范围能够根据业务的循环周期确定,例如,业务的循环周期为一周(七天),则该第一时间段可以是从第一周的周一到第一周的周日;或者,第一周的周二到第二周的周一。
步骤2、计算设备基于该第一访问趋势信息,预测该数据集在第二时间段内的第二访问趋势信息,该第二访问趋势信息指示该数据集在该第二时间段内被访问的数据量的变化趋势,该第二时间段为该第一时间段之后的时间段。
在一些实施例中,计算设备基于预测函数对该第一访问趋势信息进行处理,从而得到该第二访问趋势信息,该第二访问趋势信息用于指导针对该数据集的数据迁移过程。
步骤3、计算设备基于该第二访问趋势信息和访问量阈值,在该第二时间段开始前对该数据集进行迁移,该访问量阈值用于预测该数据集在该第二时间段内是否会被访问。
在一些实施例中,该计算设备中存储有配置信息,该配置信息指示对该多个存储空间中的数据集进行数据迁移所涉及的参数,其中,该配置信息包括该访问量阈值。
上述技术方案中,基于数据集在第一时间段内被访问的数据量生成第一访问趋势信息,并基于第一访问趋势信息来预测第一时间段之后的第二时间段内的第二访问趋势信息,从而根据该第二访问趋势信息和访问量阈值来对该数据集进行数据迁移。通过上述技术方案,参考了历史一段时间内数据集被访问的数据量的变化趋势,从而能够根据历史变化趋势中的规律性,对未来一段时间内被访问的数据量的变化趋势进行准确预测,进而为未来一段时间内进行数据迁移的过程提供指导,有效地提升了数据迁移的效率,大大节省了数据存储的成本。
需要说明的是,本申请提供的数据迁移方法能够针对该数据存储系统中多个存储空间所存储的多个数据集实现,上述说明过程以任一数据集为例进行说明。
在一些实施例中,该数据存储系统110能够提供云计算服务,该多个存储空间120能够以云存储的形式通过网络提供给终端使用,该至少一个计算设备可以作为云服务器提供给终端,从而使得终端能够通过该云服务器使用基于云存储的云计算服务。其中,终端也被称为智能终端或移动智能终端,是指一类具备丰富人机交互方式、拥有接入互联网能力、通常搭载各种操作系统、具有较强处理能力的设备。在一些实施例中,移动智能终端的类型包括但不限于智能手机、平板电脑、车载终端、掌上游戏主机等。在一些实施例中,该计算设备110是由至少一个计算设备所组成的计算设备集群,例如,数据中心内部署的至少一个服务器。
其中,该至少一个计算设备110之间,该至少一个计算设备110和该多个存储空间120之间通过有线网络或者无线网络方式通信连接。在一些实施例中,上述无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,至少一个计算设备110之间,该至少一个计算设备110和该多个存储空间120之间基于远程调用协议(remote procedure call protocol,RPC)来实现点对点(peer-to-peer,P2P)通讯。在一些实施例中,至少一个计算设备110之间,该至少一个计算设备110和该多个存储空间120之间使用包括超级文本标记语言(hyper text markuplanguage,HTML)、可扩展标记语言(extensible markup language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socketlayer,SSL)、传输层安全(transport layer security,TLS)、虚拟专用网络(virtualprivate network,VPN)、网际协议安全(internet protocol security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面对本申请实施例涉及的计算设备的硬件结构进行介绍。
本申请实施例提供了一种计算设备,能够配置为上述数据存储系统中的计算设备。示意性地,参考图3,图3是本申请实施例提供的一种计算设备的硬件结构示意图。如图3所示,该计算设备300包括存储器301、处理器302、通信接口303以及总线304。其中,存储器301、处理器302、通信接口303通过总线304实现彼此之间的通信连接。
存储器301可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。处理器302通过读取存储器301中保存的程序代码实现上述或下述实施例中的方法,或者,处理器302通过内部存储的程序代码实现上述或下述实施例中的方法。在处理器302通过读取存储器301中保存的程序代码实现上述或下述实施例中的方法的情况下,存储器301中保存用于实现本申请实施例提供的数据迁移方法的程序代码。存储器301还可以存储状态数据和事件日志等数据,本申请实施例对此不作限定。
处理器302可以是网络处理器(network processor,NP)、中央处理器(centralprocessing unit,CPU)、特定应用集成电路(application-specific integratedcircuit,ASIC)或用于控制本申请方案程序执行的集成电路。该处理器302可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。该处理器302的数量可以是一个,也可以是多个。通信接口303使用例如收发器一类的收发模块,来实现计算设备300与其他设备或通信网络之间的通信。例如,可以通过通信接口303获取数据。
其中,存储器301和处理器302可以分离设置,也可以集成在一起。
总线304可包括在计算设备300各个部件(例如,存储器301、处理器302、通信接口303)之间传送信息的通路。
本申请实施例还提供了一种计算设备集群,该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。该计算设备集群包括至少一个计算设备。计算设备集群中的一个或多个计算设备中的存储器中可以存有相同的用于执行数据迁移方法的指令。在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备的存储器中也可以分别存有用于执行数据迁移方法的部分指令。换言之,一个或多个计算设备的组合可以共同执行用于执行数据迁移方法的指令。在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,该网络可以是广域网或局域网等等。其中,该计算设备集群中至少一台计算设备的硬件结构可以参考上述图3中的内容,在此不作赘述。
接下来,基于上述数据存储系统100提供的实施环境,对本申请实施例提供的数据迁移方法进行详细说明,图4是本申请实施例提供的一种数据迁移方法的流程示意图,该方法能够应用于上述数据存储系统中,由任一计算设备执行,该方法包括下述步骤401至步骤405。
401、计算设备基于第一时间段内针对数据集的多个数据访问请求,确定该数据集在该第一时间段内被访问的数据量。
其中,该数据集和该第一时间段的介绍,参考图1、图2以及上述步骤1至步骤3中的内容,在此不作赘述。
其中,该数据访问请求用于在该计算设备所管理的多个存储空间中访问到该数据集,或者,该数据集中的数据块。在一些实施例中,该数据访问请求携带该数据集的标识以及待访问的数据块的信息,例如,该数据集是数据表,则该数据集的标识是表名,该数据块的信息是数据表的行编号和列编号。在这种示例下,该计算设备能够基于该数据集的表名,从多个存储空间中确定该数据集,进而根据该待访问的数据表的行编号和列编号,从该数据集中对应的存储位置读取该待访问的数据块,该待访问数据块的大小即为此次数据访问请求所访问的数据量。在一些实施例中,该数据集是存储在数据库中的数据表,该数据访问请求由该计算设备中的数据库管理组件执行,以该组件为图2中的SQL组件为例进行说明:通过该SQL组件中的解析模块(parser)对该数据访问请求进行解析,再通过查询优化模块(optimizer)对解析得到的查询语句进行优化,以针对该查询语句确定查询计划,最后由执行模块(executor)执行该查询优化模块确定的查询计划,实现对数据集的访问。其中,通过该查询优化模块,能够提升查询数据的效率。
在一些实施例中,在该查询优化模块(optimizer)对解析得到的查询语句进行优化后,即可输出该数据集中该待访问的数据块的信息,也即是,即可确定该数据集被访问的数据量,从而无需在执行该查询语句之后才能确定该数据集被访问的数据量,有效提升统计数据量的效率。
在一些实施例中,该第一时间段包括多个子时间段,本步骤401确定该数据集在该第一时间段内被访问的数据量的过程,可以在每个子时间段内进行。在一些实施例中,该多个子时间段基于采样周期划分得到,该采样周期指示每间隔多长时间对数据集被访问的数据量进行统计。以采样周期为单位,可以将该第一时间段划分为多个子时间段。基于此,该计算设备每隔该采样周期,统计该采样周期内,也即是,该子时间段内数据集被访问的数据量。
在一些实施例中,该计算设备中存储有配置信息,该配置信息包括上述采样周期。
在一些实施例中,该数据访问请求可以用于获取多个数据集,例如,该数据访问请求可以携带多个数据集的标识,以同时获取多个数据集中的数据块,本申请实施例对此不作限定。
通过上述技术方案,计算设备能够以采样周期为粒度,基于多个数据访问请求,统计得到该数据集在多个子时间段内被访问的数据量,从而提升统计得到的数据量的准确性。
在一些实施例中,计算设备以访问量记录的方式,存储每个子时间段内被访问的数据量,使得后续通过读取数据集的访问量记录,即可获取该第一时间段内被访问的数据量。在一些实施例中,计算设备基于该子时间段内该数据集被访问的数据量和该数据集的标识,生成该子时间段内的访问量记录。在一些实施例中,该访问量记录还包括子时间段对应的时间点,该时间点可以是该子时间段的中间时刻,则该访问量记录的格式可以为“数据集标识—时间点—数据量”。
为了便于理解,本申请实施例提供了一种访问量记录的示意图,参见图5。如图5中(a)图所示,该数据集为表1,该第一时间段内包括N个子时间段,因此,该第一时间段内数据集被访问的数据量可以基于N个采样周期Period对应的访问量记录确定;其中,第N个采样周期对应的访问量记录501为“表1—时间点1—10兆字节”,第N+1个采样周期则对应于该第一时间段之后的时间段。本申请实施例提供的数据迁移方法能够针对该计算设备所管理的多个存储空间中存储的多个数据集实施,如图5中(b)图所示,计算设备可以同时针对三个数据集,在第N个采样周期生成该三个数据集对应的访问量记录501“表1—时间点1—10兆字节”、访问量记录502“表2—时间点2—1吉字节”和访问量记录503“表3—时间点3—40兆字节”,其中,N为正整数。
在另一些实施例中,该计算设备以访问量记录表的形式存储该数据集的多条访问量记录。示例性地,该计算设备基于上述查询优化模块输出的该数据集中该待访问的数据块的信息,来确定该数据集被访问的数据量,基于数据集的标识,在该访问量记录表中存储访问量记录。本申请实施例提供了一种访问量记录表更新过程的示意图,参见图6,其中,在采样周期内,该数据访问请求SQL expression经过上述解析模块(parser)和查询优化模块(optimizer)的处理,得到采样周期内表1、表2和表3被访问的数据量,在访问量记录表tabledesc中按照时间点“时间点1-时间点2-时间点3”的顺序,存储该表1、表2和表3在采样周期内的访问量记录“表1—时间点1—数据量1”、“表2—时间点2—数据量2”和“表3—时间点3—数据量3”,其中,执行模块用于根据数据访问请求的指示到热存储中访问数据集。
通过上述技术方案,以时间点来规范访问量记录的存储顺序,使得计算设备能够并行地针对多个存储空间中的大量数据集进行有效的管理,保证了访问量记录的规范性和准确性,有效提升了后续进行数据迁移的效率。
在一些实施例中,上述访问量记录或访问量记录表,能够存储在该计算设备能够访问到的任意进程、任意设备、任意进程或设备的运行内存或持久化介质中,本申请实施例对此不作限定。基于此,能够将计算设备的存储负载分散到数据存储系统中的多种可用存储空间中,从而有效提升进行数据迁移的效率。
在一些实施例中,上述访问量记录或访问量记录表能够以任意数据结构存储,例如,通过数组和链表实现的map存储,本申请实施例对此不作限定。基于此,有效提升了本申请技术方案在不同数据存储架构中的灵活适用性。
402、计算设备基于该数据集在该第一时间段内被访问的数据量,确定该数据集的第一访问趋势信息,该第一访问趋势信息指示该数据集在该第一时间段内被访问的数据量的变化趋势。
在一些实施例中,该第一时间段包括多个子时间段,该数据集在该第一时间段内被访问的数据量也即是该数据集在该多个子时间段内被访问的数据量。
在一些实施例中,计算设备基于该数据集在该多个子时间段内被访问的数据量,得到多个趋势点,该多个趋势点之间的时间顺序基于该多个子时间段在该第一时间段中的顺序确定,该趋势点的坐标对应于该子时间段内被访问的数据量。在一些实施例中,计算设备能够基于该多个子时间段对应的访问量记录,得到该多个趋势点,例如,计算设备获取N个子时间段的访问量记录,访问量记录1中的数据量对应于趋势点1的纵坐标,访问量记录2中的数据量对应于趋势点2的纵坐标,以此类推,其中,N为正整数。
在一些实施例中,计算设备基于该多个趋势点,确定用于表示该第一访问趋势信息的时变趋势曲线,其中,该时变趋势曲线的横轴对应于该多个子时间段的时间顺序,该时变趋势曲线的纵轴对应于该多个子时间段内被访问的数据量,基于此,该第一访问趋势信息即可以图表方式,直观地展示出该数据集在该第一时间段内被访问的数据量的变化趋势。本申请实施例提供了一种时变趋势曲线的示意图。参见图7,图7示出了表1、表2和表3对应的时变趋势曲线,该图7基于下述表1中的数据生成。
需要说明的是,在一些实施例中,计算设备基于一个数据集对应的多个访问量记录,生成该数据集的第一访问趋势信息,计算设备能够根据多个数据集的访问量记录,并行地确定该多个数据集对应的第一访问趋势信息(如上述图7中示出的表1、表2和表3对应的时变趋势曲线)。
通过上述技术方案,在统计到准确数据的基础上,能够以图表的形式,建立起第一时间段内数据集被访问的数据量的随时间变化的情况,从而直观地展示出该数据集被访问数据量的变化趋势,进而能够快速准确地捕捉到其中的规律性。
表1
时间顺序 | 表1 | 表2 | 表3 |
1 | 19 | 0 | 130 |
2 | 60 | 0 | 110 |
3 | 0 | 0 | 198 |
4 | 21 | 0 | 201 |
5 | 0 | 0 | 164 |
6 | 210 | 0 | 132 |
7 | 80 | 2 | 9 |
8 | 10 | 0 | 124 |
9 | 21 | 0 | 129 |
10 | 1 | 0 | 221 |
11 | 0 | 0 | 231 |
12 | 0 | 0 | 189 |
13 | 0 | 0 | 174 |
14 | 1 | 1 | 312 |
15 | 0 | 0 | 277 |
16 | 120 | 0 | 154 |
17 | 91 | 0 | 134 |
18 | 15 | 0 | 241 |
19 | 4 | 0 | 192 |
20 | 0 | 0 | 138 |
需要说明的是,上述基于该数据集在该多个子时间段内被访问的数据量,得到多个趋势点,再基于该多个趋势点生成该时变趋势曲线的过程,仅仅是本步骤402的一种可能实现方式。
在另一些实施例中,该计算设备对该第一访问趋势信息进行平滑处理,通过去除第一访问趋势信息中的干扰信息,例如,上述时变趋势曲线中突出的趋势点,能够提升后续基于该第一访问趋势信息进行预测的准确性。在一些实施例中,该计算设备基于指数平滑对该第一访问趋势信息进行平滑处理。本申请实施例提供了一种指数平滑过程的示意图,参见图8,其中,801为图7中的表1、表2和表3对应的时变趋势曲线,也即是,平滑前的时变趋势曲线;802为经过指数平滑后得到的表1、表2和表3对应的时变趋势曲线,其中,指数平滑的阻尼系数设置为0.3。
在一些实施例中,上述对该第一访问趋势信息进行平滑处理涉及的参数,例如,指数平滑的阻尼系数,可以通过深度学习模型训练得到,本申请实施例对此不作限定。
需要说明的是,步骤402是上述图1对应的内容中步骤1的一种可能实现方式。
403、计算设备基于预测函数对该第一访问趋势信息进行处理,得到该数据集在该第一时间段内被访问的数据量的变化趋势所对应的变化规律参数。
在本申请实施例中,通过该预测函数对该第一访问趋势信息进行处理,能够从该被访问的数据量的变化趋势中,提取出能够用于指导后续数据迁移过程的变化规律参数。
在一些实施例中,该第一访问趋势信息以时变趋势曲线的形式表示,则该时变趋势曲线的多个趋势点相当于一组时间序列,计算设备基于该预测函数对该时变趋势曲线进行分解,得到多种变化规律参数,例如,指示数据波动程度的水平参数、指示上升或下降趋势的趋势性参数、指示重复或循环特性的周期性参数或季节性参数以及指示数据变化随机性的随机参数。其中,趋势性指示变量在一定时间段内的单调性,例如,单调增或单调减;季节性指示变量在固定长度的时间内具有阶段性的变化特点,例如,在一年的四季中,在春夏季增长,在秋冬季减少;周期性指示的变化特点与季节性类似,但是一个周期内每个阶段的持续时间可以不固定。
在一些实施例中,预测函数能够基于该数据集对应的业务特点确定,例如,该数据集为销售数据或考勤数据等,这一类业务数据本身具有季节性趋势,则可以将指数预测函数作为针对该数据集的预测函数,本申请实施例对此不作限定。
通过上述技术方案,能够基于多种预测角度,从历史一段时间内的数据量变化趋势中,确定出多种维度的变化规律参数,从历史数据中精准地分析得到能够用于预测未来数据量变化趋势的有效信息,大大提升了数据迁移的效率。
404、计算设备基于该变化规律参数和该第一访问趋势信息,确定该数据集在第二时间段内的第二访问趋势信息,该第二访问趋势信息指示该数据集在该第二时间段内预计被访问的数据量的变化趋势,该第二时间段为该第一时间段之后的时间段。
在一些实施例中,该第一时间段的起止范围可以根据业务的循环周期确定(参见前文中的介绍),则该第二时间段可以基于该第一时间段对应的下一个循环周期确定,例如,该业务的循环周期为一周(七天),则该第一时间段可以是从第一周的周一到第一周的周日,则该第二时间段可以是从第二周的周一到第二周的周日。
在本申请实施例中,该计算设备能够基于该变化规律参数,对该第一访问趋势信息进行处理,也即是,按照该变化规律参数,模拟出第二时间段内该数据集预计被访问的数据量的变化趋势,从而达到预测的目的,进而为后续进行数据迁移提供可靠的数据支持。
在一些实施例中,上述步骤401至步骤404可以基于具备成本估算功能的功能模块实现,例如,数据库管理系统SQL Server的查询优化组件,本申请实施例对此不作限定。
需要说明的是,上述步骤403至步骤404,是上述图2对应内容中步骤2的一种实现方式。
405、计算设备基于该第二访问趋势信息和访问量阈值,在该第二时间段开始前对该数据集进行迁移,该访问量阈值用于预测该数据集在该第二时间段内是否会被访问。
在一些实施例中,该计算设备中存储有配置信息,该配置信息包括该访问量阈值。
在一些实施例中,针对存储在不同存储空间中的数据集,计算设备进行数据迁移的过程也不同,本步骤405中对数据集进行迁移的过程包括下述情况1和情况2。
情况1、若存储在第一存储空间中的该数据集在该第二时间段内预计被访问的数据量小于该访问量阈值,在该第二时间段开始前,将该数据集从该第一存储空间迁移至第二存储空间中存储,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集。
其中,该第一存储空间和第二存储空间的介绍参见图1对应的内容,在此不作赘述。
在一些实施例中,该第二访问趋势信息包括多个目标趋势点,该多个目标趋势点对应于该第二时间段内的多个目标子时间段,每个目标趋势点指示其对应的目标子时间段内预计被访问的数据量。在这种示例下,计算设备基于该数据集在目标子时间段内预计被访问的数据量与该访问量阈值进行对比,在数据量小于该访问量阈值,表示该目标子时间段内,该数据集不会被访问,也即是,该数据集属于冷数据,则该计算设备能够在该目标子时间段开始前,将该数据集从存储热数据的该第一存储空间中迁移至存储冷数据的该第二存储空间中,实现提前进行数据迁移的目的,从而能够在无需人工管理维护的情况下,有效提升存储空间的利用率。
在一些实施例中,计算设备基于多个存储空间的负载信息,确定将该数据集迁移至哪一个存储空间中存储。其中,该负载信息指示存储空间存储数据集的效率,例如,该负载信息包括存储空间对应的存储服务器的CPU利用率和内存利用率。在这种示例下,若存储在第一存储空间中的该数据集在该第二时间段内预计被访问的数据量小于该访问量阈值,则该计算设备在该第二时间段开始前,基于多个该第二存储空间的负载信息,从该多个第二存储空间中确定目标第二存储空间,进而将该数据集从该第一存储空间迁移至该目标第二存储空间中存储。其中,该目标第二存储空间存储数据集的效率满足目标条件,例如,该目标第二存储空间对应的CPU利用率在该多个第二存储空间中排序在最前。
通过上述技术方案,能够基于数据存储系统中的多个存储空间的负载情况进行迁移决策,从而以能够最大程度地节约成本,提升存储空间的利用率。
情况2、若存储在第二存储空间中的该数据集在该第二时间段内预计被访问的数据量大于该访问量阈值,在该第二时间段开始前,将该数据集从该第二存储空间迁移至第一存储空间中存储,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集。
在一些实施例中,参考对上述情况1的说明,计算设备能够基于该数据集在目标子时间段内预计内访问的累计数据量与该访问量阈值进行对比,在该累计数据量大于该访问量阈值,表示该目标子时间段内,该数据集会被访问,也即是,该数据集属于热数据,则该计算设备能够在该目标子时间段开始前,将该数据集从存储冷数据的该第二存储空间中迁移至存储热数据的该第一存储空间中,实现提前进行数据回迁的目的,从而能够在无需人工管理维护的情况下,及时地将数据取回到高性能存储中,保证业务流畅地进行。
需要说明的是,本步骤405提供的情况1和情况2,均能够作为上述图1对应的内容中步骤3的可能实现方式。
在另一些实施例中,该计算设备以主从备份模式管理该多个存储空间。主从备份模式下,该计算设备对应于至少一个备份设备,该备份设备的存储空间相当于该计算设备的备份存储空间,该备份设备能够基于计算设备所管理的存储空间中的数据变动,同步更新自身存储空间中的数据。基于此,该计算设备在执行上述步骤401的过程中,同步地将对数据集的数据访问请求发送给该备份设备中执行,使得该备份设备同步地存储该数据集的访问量记录。本申请实施例提供了一种主从模式下的访问量记录表的示意图,参见图9,该计算设备910对应于存储空间911,该存储空间911可以是用于存储热数据的高性能存储,该备份设备920对应于存储空间921,该存储空间921可以是用于存储热数据的高性能存储,该计算设备910基于SQL组件执行数据访问请求,并发送给备份设备920,由备份设备920的SQL组件执行该数据访问请求,并生成该数据集的访问量记录表930,其中,由该计算设备910中的数据迁移模块912执行将该数据集迁移至冷存储940中的过程。在这种示例下,针对上述情况1或情况2,该计算设备在将数据集从当前存储的存储空间迁移至另一个存储空间中存储之后,能够从当前存储空间对应的至少一个备份存储空间中,将备份的数据集删除,以保证数据的一致性。示例性地,以情况1为例,该计算设备将存储在第一存储空间中的该数据集迁移至第二存储空间中存储之后,该计算设备针对该第一存储空间对应的至少一个备份存储空间,将至少一个备份存储空间中存储的该数据集删除。
通过上述技术方案,在主从备份模式下进行数据迁移,能够在提供备份的同时,保证数据的一致性,从而为数据迁移提供多重数据保障,有效提升数据迁移的可靠性。
在一些实施例中,上述用于实现数据迁移方法的数据迁移模块可以进一步被划分为多个功能单元:1、配置单元config,用于存储上述配置信息,可选地,该配置信息还包括冷存储相关的配置信息,例如,冷存储的访问权限信息。2、统计单元tablestat,用于统计数据存储系统中各个数据集被访问的数据量,也即是,用于执行上述步骤401。3、统计存储单元tabledesc,用于存储各个数据集的访问量记录表。4、预测单元predictor,用于确定第一访问趋势信息,并预测得到第二访问趋势信息,也即是,用于执行上述步骤1至步骤2,或者,步骤402至404。5、迁移单元migrator,用于基于第二访问趋势信息和访问量阈值,对数据集进行迁移,也即是,用于执行上述步骤3,或者,上述步骤405。
图10是本申请实施例提供的一种数据迁移模块的示意图,参见图10,该数据迁移模块被划分为配置单元config1001、统计单元tablestat1002、统计存储单元tabledesc1003、预测单元predictor1004和迁移单元migrator1005,该多个单元的功能参见上述内容,在此不作赘述。
在一些实施例中,上述数据迁移模块包括的多个功能单元可以拆分在数据存储系统的多个计算设备、计算设备中运行的多个进程或计算设备对应的多个计算机设备中执行,本申请实施例对该数据迁移模块的部署方式和形态均不作限定。
在一些实施例中,通过比较应用了本申请提供的数据迁移方法后,在热存储和冷存储中迁移数据所降低的成本开销,来衡量本申请提供的数据迁移方法提升数据迁移效率和节省存储成本的效果。示例性地,本申请实施例提供的相关技术中多种云服务针对冷存储和热存储的成本开销,参见表2,其中,GB为吉字节,是存储数据的单位。
表2
由表2可见,目前的冷存储与热存储的成本开销相差很大。以云服务商3提供的成本数据为例,计算应用了本申请提供的数据迁移方法后在热存储和冷存储中迁移数据所降低的成本开销。假设10GB的表数据从SSD迁移到单域对象存储:采用SSD的成本:0.7*10=7/月;采用单域对象存储的成本:0.099*10=0.99/月。可见,迁移后,存储成本下降85.9%,因此,通过本申请提供的数据迁移方法,能够极大地降低冷数据存储引入的成本开销。
通过上述技术方案,参考了历史一段时间内数据集被访问的数据量的变化趋势,从而根据历史变化趋势中的规律性,对未来一段时间内被访问的数据量的变化趋势进行准确的预测,进而为未来一段时间内进行数据迁移的过程提供指导,有效地提升了数据迁移的效率。
进一步地,基于多种维度的变化规律参数,从历史数据中精准地分析得到能够用于预测未来数据量变化趋势的有效信息,大大提升了数据迁移的效率和可靠性,为后续进行数据迁移提供了可靠的数据支持。并且,针对处于冷存储和热存储中的数据集,均可根据预测出的变化趋势及时地进行数据迁移,从而能够在无需人工管理维护的情况下,有效提升存储空间的利用率的同时保证业务流畅地进行,从而大大节省了数据存储的成本。
图11是本申请实施例提供的一种数据迁移装置的结构示意图。参见图11,该数据迁移装置包括:
确定模块1101,用于基于数据集在第一时间段内被访问的数据量,确定该数据集在该第一时间段内的第一访问趋势信息,该第一访问趋势信息指示该数据集在该第一时间段内被访问的数据量的变化趋势;
预测模块1102,用于基于该第一访问趋势信息,预测该数据集在第二时间段内的第二访问趋势信息,该第二访问趋势信息指示该数据集在该第二时间段内预计被访问的数据量的变化趋势,该第二时间段为该第一时间段之后的时间段;
迁移模块1103,用于基于该第二访问趋势信息和访问量阈值,在该第二时间段开始前对该数据集进行迁移,该访问量阈值用于预测该数据集在该第二时间段内是否会被访问。
在一种可能实施方式中,该第一时间段包括多个子时间段,该确定模块1101,用于:
基于该数据集在该多个子时间段内被访问的数据量,得到多个趋势点,该多个趋势点之间的时间顺序基于该多个子时间段在该第一时间段中的顺序确定,该趋势点的坐标对应于该子时间段内被访问的数据量;
基于该多个趋势点,确定用于表示该第一访问趋势信息的时变趋势曲线。
在一种可能实施方式中,该装置还包括:
统计模块,用于基于该第一时间段内针对该数据集的多个数据访问请求,确定该数据集在该第一时间段内被访问的数据量。
在一种可能实施方式中,该预测模块1102,用于:
基于预测函数对该第一访问趋势信息进行处理,得到该数据集在该第一时间段内被访问的数据量的变化趋势所对应的变化规律参数;
基于该变化规律参数和该第一访问趋势信息,确定该第二访问趋势信息。
在一种可能实施方式中,该迁移模块1103,用于:
若存储在第一存储空间中的该数据集在该第二时间段内预计被访问的数据量小于该访问量阈值,在该第二时间段开始前,将该数据集从该第一存储空间迁移至第二存储空间中存储,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集。
在一种可能实施方式中,该迁移模块1103,用于:
若存储在第一存储空间中的该数据集在该第二时间段内预计被访问的数据量小于该访问量阈值,在该第二时间段开始前,基于多个该第二存储空间的负载信息,从该多个第二存储空间中确定目标第二存储空间,该目标第二存储空间存储数据集的效率满足目标条件;
将该数据集从该第一存储空间迁移至该目标第二存储空间中存储。
在一种可能实施方式中,该迁移模块1103,用于:
若存储在第二存储空间中的该数据集在该第二时间段内预计被访问的数据量大于该访问量阈值,在该第二时间段开始前,将该数据集从该第二存储空间迁移至第一存储空间中存储,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集。
在一种可能实施方式中,该装置还包括:
平滑模块,用于对该第一访问趋势信息进行平滑处理。
在一种可能实施方式中,该迁移模块1103,用于:
将存储在第一存储空间中的该数据集迁移至第二存储空间中存储,该第一存储空间对应于至少一个备份存储空间,该第二存储空间用于存储在指定时间段内被访问的数据量小于该访问量阈值的数据集;
该装置还包括:
删除模块,用于将该至少一个备份存储空间中存储的该数据集删除。
通过上述技术方案,参考了历史一段时间内数据集被访问的数据量的变化趋势,从而根据历史变化趋势中的规律性,对未来一段时间内被访问的数据量的变化趋势进行准确的预测,进而为未来一段时间内进行数据迁移的过程提供指导,有效地提升了数据迁移的效率。
进一步地,基于多种维度的变化规律参数,从历史数据中精准地分析得到能够用于预测未来数据量变化趋势的有效信息,大大提升了数据迁移的效率和可靠性,为后续进行数据迁移提供了可靠的数据支持。并且,针对处于冷存储和热存储中的数据集,均可根据预测出的变化趋势及时地进行数据迁移,从而能够在无需人工管理维护的情况下,有效提升存储空间的利用率的同时保证业务流畅地进行,从而大大节省了数据存储的成本。
其中,确定模块、预测模块和迁移模块均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以确定模块为例,介绍确定模块的实现方式。类似的,预测模块和迁移模块的实现方式可以参考确定模块的实现方式。
模块作为软件功能单元的一种举例,确定模块可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,确定模块可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,确定模块可以包括至少一个计算设备,如服务器等。或者,确定模块也可以是利用专用集成电路(application-specific integratedcircuit,ASIC)实现或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(genericarray logic,GAL)或其任意组合实现。
确定模块包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。确定模块包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,A模块包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,该多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,确定模块、预测模块和迁移模块可以用于执行数据迁移方法中的任意步骤,确定模块、预测模块和迁移模块负责实现的步骤可根据需要指定,通过确定模块、预测模块和迁移模块分别实现数据迁移方法中不同的步骤来实现数据迁移装置的全部功能。也即是,上述实施例提供的数据迁移装置在实现数据迁移时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据迁移装置与数据迁移方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的数据集都是在充分授权的情况下获取的。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一数据集可以被称为第二数据集,并且类似地,第二数据集可以被称为第一数据集。第一数据集和第二数据集都可以是数据集,并且在某些情况下,可以是单独且不同的数据集。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个数据集是指两个或两个以上的数据集。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序产品的形式实现。该程序产品包括一个或多个程序指令。在计算设备上加载和执行该程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (21)
1.一种数据迁移方法,其特征在于,所述方法包括:
基于数据集在第一时间段内被访问的数据量,确定所述数据集在所述第一时间段内的第一访问趋势信息,所述第一访问趋势信息指示所述数据集在所述第一时间段内被访问的数据量的变化趋势;
基于所述第一访问趋势信息,预测所述数据集在第二时间段内的第二访问趋势信息,所述第二访问趋势信息指示所述数据集在所述第二时间段内预计被访问的数据量的变化趋势,所述第二时间段为所述第一时间段之后的时间段;
基于所述第二访问趋势信息和访问量阈值,在所述第二时间段开始前对所述数据集进行迁移,所述访问量阈值用于预测所述数据集在所述第二时间段内是否会被访问。
2.根据权利要求1所述的方法,其特征在于,所述第一时间段包括多个子时间段,所述基于数据集在第一时间段内被访问的数据量,确定所述数据集在所述第一时间段内的第一访问趋势信息,包括:
基于所述数据集在所述多个子时间段内被访问的数据量,得到多个趋势点,所述多个趋势点之间的时间顺序基于所述多个子时间段在所述第一时间段中的顺序确定,所述趋势点的坐标对应于所述子时间段内被访问的数据量;
基于所述多个趋势点,确定用于表示所述第一访问趋势信息的时变趋势曲线。
3.根据权利要求1或2所述的方法,其特征在于,所述基于数据集在第一时间段内被访问的数据量,确定所述数据集在所述第一时间段内的第一访问趋势信息之前,所述方法还包括:
基于所述第一时间段内针对所述数据集的多个数据访问请求,确定所述数据集在所述第一时间段内被访问的数据量。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述第一访问趋势信息,预测所述数据集在第二时间段内的第二访问趋势信息,包括:
基于预测函数对所述第一访问趋势信息进行处理,得到所述数据集在所述第一时间段内被访问的数据量的变化趋势所对应的变化规律参数;
基于所述变化规律参数和所述第一访问趋势信息,确定所述第二访问趋势信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述第二访问趋势信息和访问量阈值,在所述第二时间段开始前对所述数据集进行迁移,包括:
若存储在第一存储空间中的所述数据集在所述第二时间段内预计被访问的数据量小于所述访问量阈值,在所述第二时间段开始前,将所述数据集从所述第一存储空间迁移至第二存储空间中存储,所述第二存储空间用于存储在指定时间段内被访问的数据量小于所述访问量阈值的数据集。
6.根据权利要求5所述的方法,其特征在于,所述若存储在第一存储空间中的所述数据集在所述第二时间段内预计被访问的数据量小于所述访问量阈值,在所述第二时间段开始前,将所述数据集从所述第一存储空间迁移至第二存储空间中存储,包括:
若存储在第一存储空间中的所述数据集在所述第二时间段内预计被访问的数据量小于所述访问量阈值,在所述第二时间段开始前,基于多个所述第二存储空间的负载信息,从所述多个第二存储空间中确定目标第二存储空间,所述目标第二存储空间存储数据集的效率满足目标条件;
将所述数据集从所述第一存储空间迁移至所述目标第二存储空间中存储。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述基于所述第二访问趋势信息和访问量阈值,在所述第二时间段开始前对所述数据集进行迁移,包括:
若存储在第二存储空间中的所述数据集在所述第二时间段内预计被访问的数据量大于所述访问量阈值,在所述第二时间段开始前,将所述数据集从所述第二存储空间迁移至第一存储空间中存储,所述第二存储空间用于存储在指定时间段内被访问的数据量小于所述访问量阈值的数据集。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述基于所述第一访问趋势信息,预测所述数据集在第二时间段内的第二访问趋势信息之前,所述方法还包括:
对所述第一访问趋势信息进行平滑处理。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述基于所述第二访问趋势信息和访问量阈值,在所述第二时间段开始前对所述数据集进行迁移,包括:
将存储在第一存储空间中的所述数据集迁移至第二存储空间中存储,所述第一存储空间对应于至少一个备份存储空间,所述第二存储空间用于存储在指定时间段内被访问的数据量小于所述访问量阈值的数据集;
所述方法还包括:
将所述至少一个备份存储空间中存储的所述数据集删除。
10.一种数据迁移装置,其特征在于,所述装置包括:
确定模块,用于基于数据集在第一时间段内被访问的数据量,确定所述数据集在所述第一时间段内的第一访问趋势信息,所述第一访问趋势信息指示所述数据集在所述第一时间段内被访问的数据量的变化趋势;
预测模块,用于基于所述第一访问趋势信息,预测所述数据集在第二时间段内的第二访问趋势信息,所述第二访问趋势信息指示所述数据集在所述第二时间段内预计被访问的数据量的变化趋势,所述第二时间段为所述第一时间段之后的时间段;
迁移模块,用于基于所述第二访问趋势信息和访问量阈值,在所述第二时间段开始前对所述数据集进行迁移,所述访问量阈值用于预测所述数据集在所述第二时间段内是否会被访问。
11.根据权利要求10所述的装置,其特征在于,所述第一时间段包括多个子时间段,所述确定模块,用于:
基于所述数据集在所述多个子时间段内被访问的数据量,得到多个趋势点,所述多个趋势点之间的时间顺序基于所述多个子时间段在所述第一时间段中的顺序确定,所述趋势点的坐标对应于所述子时间段内被访问的数据量;
基于所述多个趋势点,确定用于表示所述第一访问趋势信息的时变趋势曲线。
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
统计模块,用于基于所述第一时间段内针对所述数据集的多个数据访问请求,确定所述数据集在所述第一时间段内被访问的数据量。
13.根据权利要求10至12任一项所述的装置,其特征在于,所述预测模块,用于:
基于预测函数对所述第一访问趋势信息进行处理,得到所述数据集在所述第一时间段内被访问的数据量的变化趋势所对应的变化规律参数;
基于所述变化规律参数和所述第一访问趋势信息,确定所述第二访问趋势信息。
14.根据权利要求10至13任一项所述的装置,其特征在于,所述迁移模块,用于:
若存储在第一存储空间中的所述数据集在所述第二时间段内预计被访问的数据量小于所述访问量阈值,在所述第二时间段开始前,将所述数据集从所述第一存储空间迁移至第二存储空间中存储,所述第二存储空间用于存储在指定时间段内被访问的数据量小于所述访问量阈值的数据集。
15.根据权利要求14所述的装置,其特征在于,所述迁移模块,用于:
若存储在第一存储空间中的所述数据集在所述第二时间段内预计被访问的数据量小于所述访问量阈值,在所述第二时间段开始前,基于多个所述第二存储空间的负载信息,从所述多个第二存储空间中确定目标第二存储空间,所述目标第二存储空间存储数据集的效率满足目标条件;
将所述数据集从所述第一存储空间迁移至所述目标第二存储空间中存储。
16.根据权利要求10至15任一项所述的装置,其特征在于,所述迁移模块,用于:
若存储在第二存储空间中的所述数据集在所述第二时间段内预计被访问的数据量大于所述访问量阈值,在所述第二时间段开始前,将所述数据集从所述第二存储空间迁移至第一存储空间中存储,所述第二存储空间用于存储在指定时间段内被访问的数据量小于所述访问量阈值的数据集。
17.根据权利要求10至16任一项所述的装置,其特征在于,所述装置还包括:
平滑模块,用于对所述第一访问趋势信息进行平滑处理。
18.根据权利要求10至17任一项所述的装置,其特征在于,所述迁移模块,用于:
将存储在第一存储空间中的所述数据集迁移至第二存储空间中存储,所述第一存储空间对应于至少一个备份存储空间,所述第二存储空间用于存储在指定时间段内被访问的数据量小于所述访问量阈值的数据集;
所述装置还包括:
删除模块,用于将所述至少一个备份存储空间中存储的所述数据集删除。
19.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至权利要求9中任一项所述的数据迁移方法。
20.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至权利要求9中任一项所述的数据迁移方法。
21.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至权利要求9中任一项所述的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210872167.1A CN117472873A (zh) | 2022-07-22 | 2022-07-22 | 数据迁移方法、装置、计算设备集群及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210872167.1A CN117472873A (zh) | 2022-07-22 | 2022-07-22 | 数据迁移方法、装置、计算设备集群及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472873A true CN117472873A (zh) | 2024-01-30 |
Family
ID=89626242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210872167.1A Pending CN117472873A (zh) | 2022-07-22 | 2022-07-22 | 数据迁移方法、装置、计算设备集群及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472873A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117792404A (zh) * | 2024-02-28 | 2024-03-29 | 福建省金瑞高科有限公司 | 一种用于铝合金压铸零件的数据管理方法 |
CN117792404B (zh) * | 2024-02-28 | 2024-05-10 | 福建省金瑞高科有限公司 | 一种用于铝合金压铸零件的数据管理方法 |
-
2022
- 2022-07-22 CN CN202210872167.1A patent/CN117472873A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117792404A (zh) * | 2024-02-28 | 2024-03-29 | 福建省金瑞高科有限公司 | 一种用于铝合金压铸零件的数据管理方法 |
CN117792404B (zh) * | 2024-02-28 | 2024-05-10 | 福建省金瑞高科有限公司 | 一种用于铝合金压铸零件的数据管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754874B2 (en) | Query dispatching system and method | |
US20190278783A1 (en) | Compaction policy | |
US11429630B2 (en) | Tiered storage for data processing | |
US10909114B1 (en) | Predicting partitions of a database table for processing a database query | |
US20190384845A1 (en) | Using computing resources to perform database queries according to a dynamically determined query size | |
US11449509B2 (en) | Workflow driven database partitioning | |
US10255307B2 (en) | Database object management for a shared pool of configurable computing resources | |
US11055352B1 (en) | Engine independent query plan optimization | |
US9378234B2 (en) | Management of updates in a database system | |
CA3167981C (en) | Offloading statistics collection | |
US11144538B2 (en) | Predictive database index modification | |
CN107220248B (zh) | 一种用于存储数据的方法和装置 | |
US9229968B2 (en) | Management of searches in a database system | |
US11609910B1 (en) | Automatically refreshing materialized views according to performance benefit | |
CN117472873A (zh) | 数据迁移方法、装置、计算设备集群及存储介质 | |
US11645283B2 (en) | Predictive query processing | |
US20200159706A1 (en) | Object Storage System with Control Entity Quota Usage Mapping | |
US20240045852A1 (en) | Performing an operation in a tree structure | |
Lakhe et al. | Case study: Implementing lambda architecture | |
US20240045878A1 (en) | Building and using a sparse time series database (tsdb) | |
US11023485B2 (en) | Cube construction for an OLAP system | |
Globa et al. | The approach to" Big Data" keeping with effective access in multi-tier storag | |
Sharma et al. | Supportive architectural analysis for big data | |
CN115718571A (zh) | 一种基于多维度特征的数据管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |