CN111258755A - 数据迁移及信息确定方法、数据处理系统、电子设备 - Google Patents

数据迁移及信息确定方法、数据处理系统、电子设备 Download PDF

Info

Publication number
CN111258755A
CN111258755A CN202010021782.2A CN202010021782A CN111258755A CN 111258755 A CN111258755 A CN 111258755A CN 202010021782 A CN202010021782 A CN 202010021782A CN 111258755 A CN111258755 A CN 111258755A
Authority
CN
China
Prior art keywords
cluster
data
migration
amount
information
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
Application number
CN202010021782.2A
Other languages
English (en)
Inventor
张颖莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010021782.2A priority Critical patent/CN111258755A/zh
Publication of CN111258755A publication Critical patent/CN111258755A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

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

数据迁移及信息确定方法、数据处理系统、电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据迁移及信息确定方法、数据处理系统、电子设备。
背景技术
大数据处理系统的核心计算组件,承担了大部分的分布式计算需求。大数据平台的核心计算组件通常包含有多个集群(cluster),其可分布在不同的地域,为上千个应用提供服务。
集群(cluster)存在计算、存储、文件数等多个维度的资源。当任一集群的资源使用情况到达一定程度时,需将该集群上的部分数据进行迁移。目前集群间的数据迁移依赖于运维人员的经验。通常情况下,运维人员作出的迁移规划一般较为保守。
发明内容
针对现有人工制定数据迁移规则存在的问题,本申请各实施例提供一种自动化高、较为合理的数据迁移及信息确定方法、数据处理系统、电子设备。
在本申请的一个实施例中,提供了一种数据迁移方法。该方法包括:
获取第一集群的需迁移量及至少一个第二集群的可接收量;
基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;
根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
在本申请的另一个实施例中,提供了一种数据处理系统。该数据处理系统包括:
第一集群,用于处理、存储数据;
至少一个第二集群,与所述第一集群网络连接,用于处理、存储数据;
控制装置,与所述第一集群及所述至少一个第二集群网络连接,用于获取第一集群的需迁移量及至少一个第二集群的可接收量;基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据及所述至少一个第二集群中能接收所述目标数据的目标集群。
在本申请的又一个实施例中,提供了一种信息确定方法。该信息确定方法包括:
获取第三集群中包含的体量信息及历史运行信息;
根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值;
根据所述第三集群的资源总量、所述第三集群的资源使用量及所述判定阈值,确定所述第三集群的需迁移量或可接收量。
在本申请的又一个实施例中,提供了一种数据迁移方法。该数据迁移方法包括:
根据多个集群的资源信息,从所述多个集群中确定出需进行数据迁移的第一集群及至少一个能接收迁移数据的第二集群;
基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型;
执行所述优化模型,得到迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
在本申请的又一个实施例中,提供了一种电子设备。该电子设备包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取第一集群的需迁移量及至少一个第二集群的可接收量;
基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;
根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
在本申请的又一个实施例中,提供了一种电子设备。该电子设备包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取第三集群中包含的体量信息及历史运行信息;
根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值;
根据所述第三集群的资源总量、所述第三集群的资源使用量及所述判定阈值,确定所述第三集群的需迁移量或可接收量。
在本申请的又一个实施例中,提供了一种电子设备。该电子设备包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
根据多个集群的资源信息,从所述多个集群中确定出需进行数据迁移的第一集群及至少一个能接收迁移数据的第二集群;
基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型;
执行所述优化模型,得到迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
由于数据从一个集群迁移至另一集群,会存在因数据访问依赖致使数据交互所消耗网络资源发生改变的情况出现,因此本申请实施例提供的技术方案中,基于数据间的依赖关系确定出数据从第一集群迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;然后根据目标信息、第一集群的需迁移量及至少一个第二集群的可接收量,确定迁移方案;由此可见,本申请实施例提供的技术方案,综合了数据间依赖、集群的需迁移量及集群的可接收量,制定出的迁移方案,更加客观,且更贴合实际情况;较现有人工规划迁移,更准确;且能有效解决现有技术中运维人员作出的迁移规划过为保守的问题。
本申请另一实施例提供的技术方案,为了辅助后续迁移方案的制定,利用集群的第一集群的体量信息及历史运行信息,为集群设置较为合理的判定阈值;利用该判定阈值量化得出的集群需迁移量或可接收量,在迁移方案制定过程中,可有效防止迁移后接收集群的资源不足的情况出现;另外,因集群需迁移量或可接收量的量化准确度高,有助于提高后续制定的迁移方案的合理性,以解决现有运维人员作出的迁移规划过为保守的问题。
本申请又一个实施例提供的技术方案,利用优化模型的思路来求解出迁移方案;其中,优化模型的构建考虑了数据间的依赖、需迁移数据集群的资源信息及至少一个可接收集群的资源信息;通过执行该优化模型可求解出较优的迁移方案;较现有人工规划迁移,更准确;且能有效解决现有技术中运维人员作出的迁移规划过为保守的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一多集群的实例示意图;
图2为本申请一实施例提供的数据处理系统的一种实现的架构示意图;
图3为本申请一实施例提供的数据处理系统的另一种实现的架构示意图;
图4为本申请一实施例提供的数据迁移方法的流程示意图;
图5为图3中客户端上展示页面105的放大视图;
图6为图5所示页面可显示页面内容的另一实例性视图;
图7为本申请一实施例提供的信息确定方法的流程示意图;
图8为本申请另一实施例提供的数据迁移方法的流程示意图;
图9为本申请又一实施例提供的数据迁移方法的流程示意图;
图10为本申请一实施例提供的数据迁移装置的结构示意图;
图11为本申请另一实施例提供的数据迁移装置的结构示意图;
图12为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
在介绍本申请各实施例提供的技术方案之前,先对本文中涉及的专有名词进行简要的说明。
大数据通用处理平台,用于提供针对TB/PB级数据,实时性要求不高的分布式处理能力,应用数据分析、挖掘、商业智能等领域,向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。大数据通用处理平台主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。大数据通用处理平台可包含多个集群。
集群(cluster),其包含多个设备(亦或称为节点),集群内的设备可通过局域网连接,也可存在其他的可能连接方式。集群存在计算量、存储量、文件数等多个维度的资源。不同集群可部署在同一地域,也可部署在不同地域。同一地域内的多个集群可部署在不同的机房,也可部署在同一机房。
Project,部署在集群上的应用;本申请下述各实施例中提及的需迁移的数据可以是project。
数据间的依赖关系,是数据之间的相互制约关系,是一种状态,当程序结构导致数据引用之前处理过的数据时的状态。参见图1所示的示例,集群A的应用An在处理过程中需读取集群C中应用C1中的数据(如表),则说明应用An与应用C1存在数据间的依赖关系。继续参见图1所示的示例,集群A的应用A2在处理过程中需读取集群B中应用B1中的数据,则说明应用A2与应用B1存在数据间的依赖关系。又如图1中,集群C的应用Cn在处理过程中需读取集群C中应用C2中的数据,则说明应用C2与应用C1存在数据间的依赖关系。数据间的依赖关系是固有存在的,属于数据内在的性质,因此可获知。
对于集群(cluster),存在计算、存储、文件数等多个维度的资源,集群间存在通信的带宽资源,带宽成本因集群的距离而不同。例如,同一地域内的两集群间的通信带宽成本,通常小于不同地域的两集群间的通信带宽成本。对于应用(project),各个应用对不同维度的资源的消耗存在差异,特别地,对于计算资源的消耗,存在很强的时段差异性,此外应用之间存在数据访问依赖,会消耗集群间的带宽资源。随着业务的日益发展,集群个数和规模在不断扩大,应用间的依赖也愈发复杂。当任何一个集群计算、存储、文件数资源达到瓶颈都会对集团业务造成影响,而降低其他资源的使用效率,这就引发了大数据通用处理平台的容量管理问题。
目前,对于容量问题主要有两大解决方案:一是通过采购机器进行扩容,这要求运维人员对集群未来的资源消耗做出精准的预测,做出合理的采购预算;二是优化大数据通用处理平台的应用在不同集群的排布,包括全局排布优化和局部迁移方案的优化。所谓全局排布优化,相当于将平台上的所有应用全部打乱,重新在各个集群间进行分配。而局部迁移方案优化,是针对那些资源遇到瓶颈,稳定性可能受到影响的集群,提前做出应用的调度。受限于应用迁移的自动化程度、迁移效率、实际业务情况,全局排布优化的工程化实施还有一定困难。本申请各实施例提供的技术方案主要针对的是局部迁移的解决方案。
现有技术中,集群上数据的迁移强依赖于运维人员的经验,运维人员对各个维度资源的最大允许值有着一定的敏感度,在某个集群某个维度的资源到达最大允许值时,制定出一些应用(project)的迁移方案。
现有人工经验决策存在很多局限性:
(1)集群的资源维度多,运维人员每天需要花大量的时间查看监控指标,但依旧可能遗漏或未能及时发现需迁移量。
(2)线上的project众多,每个project也有多维的属性,project之间因存在不同强度的数据依赖,人工很难全面考虑各个因素做出最优的迁移决策,运维人员通常会从较粗的粒度制定迁移计划。
(3)project的迁移会牵一发而动全身,带来各个层面的影响。在迁移方案真正执行之前,人工难以准确地预估和量化这些影响,通常为了防止迁移后接受集群的资源不足或者出现集群间带宽被承包的情况出现,运维人员作出的迁移计划一般较为保守。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。此外,下述各实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2示出了本申请一实施例提供的数据处理系统的一种可实现结构的示意图。具体的,如图2所示该数据处理系统包括:
第一集群101,用于处理、存储数据(如图2中的应用A1、应用A2、……应用An);
至少一个第二集群102,与所述第一集群101网络连接,用于处理、存储数据(如图2中集群B中的应用B1、应用B2、……应用Bn;集群N中的应用N1、应用N2、……应用Nn);
控制装置103,与所述第一集群101及所述至少一个第二集群102网络连接,用于获取第一集群101的需迁移量及至少一个第二集群102的可接收量;基于数据间的依赖关系,确定所述第一集群101上的数据迁移至任一第二集群102后引起的与网络资源消耗相关的目标信息;根据所述目标信息、所述需迁移量及所述至少一个第二集群102的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群101上能迁移的目标数据及所述至少一个第二集群102中能接收所述目标数据的目标集群。
具体实施时,第一集群101、至少一个第二集群102可部署与同一地域,也可部署在至少两个地域内;本实施例对此不作具体限定。参见图1所示的多个集群地域部署实例。图1所示的集群有集群A、集群B及集群C。集群A与集群B部署在同一地域X,如同一城市。集群C部署在地域Y。集群A上部署有应用A1、应用A2及应用An。集群B上部署有应用B1、应用B2及应用Bn;集群C上部署有应用C1、应用C2及应用Cn。这里需要补充的是:本实施例中提及的数据可以是图1和图2中所示的应用(project);当然,也可是其他类型数据,本实施例对此不作具体限定。
另外,本实施例提供的所述数据处理系统还可包含其他集群,图2中未示出。上述多个集群及控制装置形成的系统架构可以是现有技术中的大数据通用处理平台;控制装置可以是部署在大数据通用处理平台内的控制集群或是一单一控制服务器,对此本实施例不作具体限定。
进一步的,参见图3所示,本实施例提供的所述数据处理系统还可包括客户端104。该客户端104与所述控制装置103网络连接,用于展示所述迁移方案105。
再进一步的,所述客户端104还可用于监听到用户针对所述迁移方案触发的确认事件,向所述控制装置发送迁移指令。所述控制装置103还可用于根据所述迁移指令,将所述目标数据迁移至所述目标集群。
其中,本实施例中的所述客户端可以是:用户使用的手机、平板电脑、笔记本电脑、智能穿戴设备(如智能手表)等等,本申请实施例对此不作具体限定。比如,客户端上安装有相应的软件,该软件可以是一专门用于查看迁移方案、各集群的资源监测信息等的功能软件。用户通过该软件进行信息查看、迁移确认操作等。
由于数据从一个集群迁移至另一集群,会存在因数据访问依赖致使数据交互所消耗网络资源发生改变的情况出现,因此本申请实施例提供的技术方案中,基于数据间的依赖关系确定出数据从第一集群迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;然后根据目标信息、第一集群的需迁移量及至少一个第二集群的可接收量,确定迁移方案;由此可见,本申请实施例提供的技术方案,综合了数据间依赖、集群的需迁移量及集群的可接收量,制定出的迁移方案,更加客观,且更贴合实际情况;较现有人工规划迁移,更准确;且能有效解决现有技术中运维人员作出的迁移规划过为保守的问题。
本实施例提供的所述数据处理系统中各组成单元,如控制装置的具体工作原理将在以下各实施例中作进一步的说明。
图4示出了本申请一实施例提供的数据迁移方法的流程示意图。本实施例提供的所述方法的执行主体可以是上述数据处理系统中的控制装置。具体的,如图4所示,所述方法包括:
201、获取第一集群的需迁移量及至少一个第二集群的可接收量。
202、基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息。
203、根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案。
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
上述201中,第一集群的需迁移量可利用第一集群的资源总量、第一集群的资源使用量及判定阈值(俗称参照水位)来确定。其中,判定阈值可以人为设定,或是由执行主体自动设定,或是由执行主体对人为设定值进行调整得到,等等,本实施例对此不作具体限定。例如,判定阈值可为85%~95%间的一数值。第一集群的需迁移量可采用如下公式(1)计算得到:
需迁移量=资源使用量-资源总量*判定阈值 (1)
其中,资源使用量是指第一集群的当前资源使用量,或者是第一集群在高峰时段(如2~14点)时的资源使用量。
下面以至少一个第二集群中任一第二集群为例,对第二集群的可接收量的确定进行说明。第二集群的可接收量可利用第二集群的资源总量、第二集群的资源使用量及判定阈值(俗称参照水位)来确定。这里需要说明的是:此处用于确定第二集群的可接收量的判定阈值,与上述用于确定第一集群的需迁移量的判定阈值,可取值相同,也可不同,本实施例对此不作具体限定。在一种可实现的方案中,用于确定第二集群的可接收量的判定阈值可小于用于确定第一集群的需迁移量的判定阈值。同样的,此处的判定阈值可以人为设定,或是由执行主体自动设定,或是由执行主体对人为设定值进行调整得到,等等。例如,可接收阈值可以是80%~90%间的一数值。第二集群的可接收量可采用如下公式(2)计算得到:
可接收量=资源总量*判定阈值-资源使用量 (2)
其中,资源使用量是指第二集群的当前资源使用量,或者是第二集群在高峰时段(如2~14点)时的资源使用量。
上述202中,数据间的依赖关系为可获知信息,其可表征为关系列表的形式,可通过识别数据中包含表征与其他数据存在依赖关系的参数获得;本实施例对此不作具体限定。假设,第一集群上的数据A与第一集群内的另一数据B存在数据间的依赖关系,将该数据A迁移至某一第二集群上,势必会增加集群间的网络资源消耗。若第一集群上的数据B与第二集群上的数据C存在数据间的依赖关系,将数据B迁移至该第二集群上,会减少集群间的网络资源消耗。本实施例中,基于数据间的依赖关系确定出的目标信息,实质上是为了表征将第一集群上的数据迁移至任一第二集群后引起的资源消耗变化的情况。
上述203中,确定迁移方案时,将目标信息作为一项考虑因素,是将网络资源消耗考虑其中,用以控制网络资源消耗;同时结合需迁移量及至少一个第二集群的可接收量,是为防止迁移方案中接收集群资源不足的情况出现。具体实施时,可利用专家系统,将目标信息、需迁移量及至少一个第二集群的可接收量作为该专家系统的已知量,得出一个合理的迁移方案。专家系统是一种在特定领域内具有专家水平解决问题能力的程序系统,它能够有效地运用专家多年积累的有效经验的专门知识,通过模拟专家的思维过程,解决问题。具体的,有关专家系统的内容,可参见现有技术,本文不作赘述。在另一种可实现的技术方案中,还可借助带约束条件的优化问题来进行迁移方案的确定。例如,基于数据间的依赖关系确定出的目标信息,为优化问题中的目标函数;基于需迁移量及至少一个第二集群的可接收量可构建优化问题中的约束条件。该带约束条件的优化问题可简单理解为:在约束条件满足的情况下,使得目标函数达到最优解。具体实施时,可将目标函数的最优解结果定为:网络资源消耗最底。
本实施例提供的技术方案,综合了数据间依赖、集群的需迁移量及集群的可接收量,制定出的迁移方案,更加客观,且更贴合实际情况;较现有人工规划迁移,更准确;且能有效解决现有技术中运维人员作出的迁移规划过为保守的问题。
在一种可实现的技术方案中,本实施例中步骤202“基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息”可采用如下方式实现:
2021、基于数据间的依赖关系,确定所述第一集群上的数据因数据交互需消耗的第一网络资源信息;
2022、基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的数据交互所需消耗的第二网络资源信息;
2023、根据所述第一网络资源信息及所述第二网络资源信息,确定所述目标信息。
上述2021中,第一网络资源信息包括如下中的至少一组信息项:
所述第一集群上的数据产生集群内数据交互需消耗的网络资源量;
所述第一集群上的数据产生跨集群间数据交互需消耗的网络资源量及网络资源类型。
上述2022中,第二网络资源信息包括如下中的至少一组信息项:
所述第一集群上的数据迁移至一第二集群后,所述数据产生在所述第二集群内数据交互需消耗的网络资源量;
所述第一集群上的数据迁移至一第二集群后,所述数据产生的跨集群间数据交互需消耗的网络资源量及网络资源类型。
这里需要补充的是:集群包含有多个设备;多个设备可部署于至少一个机房内。通常情况下,同属于一个集群的设备会部署在同一机房内。不同集群部署在至少一个机房内;当存在多个机房的情况下,多个机房中包含有部署于同一地域的至少两个机房,和/或部署于不同地域的至少两个机房。在现有与距离相关的网络资费情况下,同一机房内的网络资费<同地域的两个机房间的网络资费<跨地域的两个机房间的网络资费。简单理解即,距离越远,网络资源的成本就越高。对应不同情况,上文提及的网络资源类型可包括如下中的至少一种:同机房内数据交互所占的内网资源类型、同地域不同机房间数据交互所占的同地域网络资源类型,以及不同地域两机房间数据交互所占的跨地域网络资源类型。本实施例中网络资源信息中包含网络资源类型的目的就是确定数据交互成本,亦可称为网络资源占用成本。
即上述步骤2023“根据所述第一网络资源信息及所述第二网络资源信息,确定所述目标信息”,包括:
20231、根据所述第一网络资源信息,计算第一数据交互成本。
具体实施时,所述第一集群中任一数据对应的第一数据交互成本可采用如下公式(3)计算得到:
第一数据交互成本=originflowsizei1×origincosti1+originflowsizei2×origincosti2+originflowsizei3×origincosti3 (3)
其中,originflowsizei1为第一集群上第i个数据产生集群内数据交互需消耗的网络资源量;origincosti1为第一集群上第i个数据所消耗内网资源类型的网络资源所对应的取值,可理解为单位成本。originflowsizei2为第一集群上第i个数据产生同地域不同机房间数据交互需消耗的网络资源量;origincosti2为第一集群上第i个数据所消耗同地域网络资源类型的网络资源所对应的取值。originflowsizei3为第一集群上第i个数据产生不同地域两机房间数据交互需消耗的网络资源量;origincosti3为第一集群上第i个数据所消耗跨地域网络资源类型的网络资源所对应的取值。
20232、根据所述第二网络资源信息,计算第二数据交互成本。
具体实施时,所述第一集群中任一数据对应的第二数据交互成本可采用如下公式(4)计算得到:
第二数据交互成本=targetflowsiezij1×targetcostij1targetflowsizeij2×targetcostij2+targetflowsizeij3×targetcostij3 (4)
其中,targetflowsizeij1为第一集群上第i个数据迁移至第j个第二集群上后产生的在第j个第二集群内数据交互需消耗的网络资源量;targetcostij为第一集群上第i个数据迁移至第j个第二集群上后产生的内网资源类型的网络资源对应的取值,可理解为单位成本。targetflowsizeij2为第一集群上第i个数据迁移至第j个第二集群上后产生的同地域不同机房间数据交互需消耗的网络资源量;targetcostij2为第一集群上第i个数据迁移至第j个第二集群上后产生的同地域网络资源类型的网络资源对应的取值。targetflowsizeij3为第一集群上第i个数据迁移至第j个第二集群上后产生的不同地域两机房间数据交互需消耗的网络资源量;targetcostij3为第一集群上第i个数据迁移至第j个第二集群上后产生的跨地域网络资源类型的网络资源对应的取值。
这里需要说明的是:上述公式(3)和公式(4)仅列出了本文中提及到几种类型的网络资源,但若实际中还存在其他类型的网络资源,也可添加至或上述公式(3)和公式(4)中。
20233、根据所述第一数据交互成本及所述第二数据交互成本,确定所述目标信息。
具体的,本步骤20233可具体为:
根据所述第一数据交互成本及所述第二数据交互成本,构建求解数据交互成本最优解问题中的目标函数,以作为所述目标信息。例如,目标函数可表征为如下公式(5):
Figure BDA0002361045120000141
(第一数据交互成本-第二数据交互成本)×xij (5)
其中,
第一数据交互成本=originflowsizei1×origincosti1+originflowsizei2×origincosti2+originflowsizei3×origincosti3
第二数据交互成本=targetflowsizeij1×targetcostij1+targetflowsizeij2×targetcostij2+targetflowsizeij3×targetcostij3
上述,xij=0或1;i为第一集群中数据的标识;j为第二集群的标识。xij=1可理解为:第一集群中第i个数据迁移至第j个第二集群。xij=0可理解为:第一集群第i个数据不迁移至第j个第二集群。
上述目标函数(即公式5)的求解目标是:迁走与本集群数据依赖小的,与目标集群数据依赖大的数据(如project)。简单理解就是:将数据迁移后的数据交互成本(亦或称网络资源消耗成本)降到最低。
进一步的,上述步骤203“根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案”可具体包括:
2031、基于所述需迁移量及所述至少一个第二集群的可接收量,确定求解数据交互成本最优解问题中的约束条件;
2032、结合所述约束条件求解所述目标函数,得出所述迁移方案。
具体实施时,求解数据交互成本最优解问题可具体为带约束条件的优化问题,且约束和目标函数可线性的。线性规划是最著名的解决最优化问题的方法之一。解决线性规划问题的方法有很多,如单纯形法、内点法等,也有很多的科学计算工具可以使用,如matlab,scipy等。本实施例可使用GLPK:GNU Linear Programming Kit来求解上面的线性规划问题。GLPK使用C++编写,效率高,可用于解决大规模线性规划、混合整数规划等相关问题。
在一具体实施方案中,所述需迁移量包括如下中的至少一种:计算量迁移量、数据量迁移量、文件数迁移量。所述可接收量包括如下中的至少一种:计算量接收量、数据量接收量、文件数接收量。相应的,上述步骤2031确定出的所述约束条件包括如下中的至少一项:
所述目标集群数量小于或等于第一阈值;
所述目标数据的计算量大于或等于所述计算量迁移量;
所述目标数据的数据量大于或等于所述数据量迁移量;
所述目标数据的文件数大于或等于所述文件数迁移量;
所述目标数据的计算量小于或等于所述计算量接收量;
所述目标数据的数据量小于或等于所述数据量接收量;
所述目标数据的文件数小于或等于所述文件数接收量。
其中,上述第一阈值可为一预设值,如1。将目标集群数量控制在小于等于1,实质上就是数据不能同时迁往多个不同的集群。
进一步的,上文中提及了判定阈值这一参数。本实施例提供的所述方法还可包括如下如何确定该判定阈值以及如何量化需迁移量的步骤。具体的,本实施例提供的所述方法还包括:
204、获取所述第一集群的体量信息。
205、获取所述第一集群的历史运行信息。
206、根据所述第一集群的体量信息及所述历史运行信息,确定所述第一集群的判定阈值。
207、基于所述第一集群的资源总量、所述第一集群的资源使用量及所述判定阈值,对所述第一集群进行数据需迁移的判定和所述需迁移量的量化操作。
上述205中,所述历史运行信息可包括所述第一集群历史上处理的高优先级数据的数量。
在一种可实现的技术方案中,上述206中第一集群的判定阈值可采用如下公式(6)计算得到:
判定阈值=基准阈值+α*(第一集群的体量信息-基准体量信息)-β*(处理高优先级数据的数量-基准数量) (6)
其中,基准阈值可由运维专家设定,运维专家了解各集群的具体情况,可基于经验或理论推导设定,比如,基准阈值为85%~95%之间的数值。该基准阈值是根据基准体量信息及处理高优先级数据的基准数量来确定的。基准体量信息及基准数量不同,则设定出的基准阈值可能会不同。上述公式(6)中α及β为已知值,同样的可人为设定或系统自动赋值得到,本实施例α及β的具体取值不作具体限定。
通过上述公式(6),以根据集群的实际体量大小和其上运行的高优先级数据数量进行调整。这里需要补充的是:集群的体量信息表征了集群的物理层面上的硬件配置,其可包含多方面的信息,如第一集群的体量信息、设备性能等。此处以体量信息包含设备数量为例,假设,基准阈值为90%,基准集群体量为1000台,处理高优先级数据的基准数量为100;则判定阈值可具体为:
判定阈值=基准阈值+α*(第一集群的体量信息-1000)-β*(处理高优先级数据的数量-100)
这里需要补充的是:利用上述公式(6)对基准阈值进行调整,最终得到的判定阈值都必须在一个设定范围内,如在85%-95%范围内。
本实施例中对基准阈值的调整思想大概是:如果集群的体量大,则可适当的提升基准阈值以得到判定阈值;高优先级数据数量较多,则可适当的降低基准阈值以得到判定阈值。
上述步骤207中,可利用判定阈值判定第一集群是否需要迁移数据。例如采用如下方式进行判定:
若资源总量*判定阈值大于资源使用量,则第一集群需进行数据迁移;
若资源总量*判定阈值小于或等于资源使用量,则第一集群无需进行数据迁移。
本实施例提供的技术方案以第一集群需进行数据迁移为前提,则还可利用判定阈值量化第一集群的需迁移量。具体的,可采用如下公式量化得到:
需迁移量=资源使用量-资源总量*判定阈值 (7)
其中,资源使用量是指第一集群的当前资源使用量,或者是第一集群在高峰时段(如2~14点)时的资源使用量。
基于上文中提及的内容可知,集群存在多种类型资源,如计算资源、存储资源及文件数资源等。因此,判定阈值可包括多种类型资源分别对应的阈值;当然,各类型资源对应的阈值可相等,也可不相等。例如,所述判定阈值包括:至少一种资源类型对应的阈值;其中,资源类型包括:计算资源类型、存储资源类型、文件数资源类型。
第一集群的任一类型资源的使用超限(即资源使用量超过最大允许量)时,都需进行数据的迁移。以存储资源为例,假设存储资源的总量为N(PB),存储资源对应的判定阈值为85%;则存储资源最大允许量为:N(PB)*85%。相应的,需迁移量包括但不限于如下中的至少一种:计算量迁移量、数据量迁移量、文件数迁移量。各迁移量可采用如下公式计算得到:
计算量迁移量=计算资源使用量-计算资源总量*计算资源对应的需迁移阈值数据量迁移量=存储资源使用量-存储资源总量*存储资源对应的需迁移阈值文件数迁移量=文件数量-文件数资源总量*文件数资源对应的需迁移阈值。
从上文可知,判定阈值是用于确定集群的资源最大允许量。当集群无需进行数据迁移时,也可通过判定阈值来计算出集群的可接收量。但这里需要说明的是:为了保险起见,通常将用于计算集群的可接收量的判定阈值设定的小于用于计算集群的需迁移量的判定阈值。即,所述判定阈值包括:需迁移阈值、可接收阈值;可接收阈值小于需迁移阈值。具体实施时,可使用需迁移阈值判定集群是否需要进行数据迁移;在判定集群无需进行数据迁移时,可利用可接收阈值计算集群的可接收量;在判定集群需进行数据迁移时,可利用需迁移阈值计算集群的需迁移量。
本实施例提供的技术方案可具体为:为每一个集群同时个性化的设定一需迁移阈值及一可接收阈值。其中,可接收阈值可基于需迁移阈值确定。例如,采用上述提供的方法为集群确定了需迁移阈值后,可在需迁移阈值的基础上,调低一些得到可接收阈值。例如,在具体实施时,可在需迁移阈值的基础上乘以一个百分比,如95%或90%,的系数,以得到可接收阈值。假设,需迁移阈值为90%,可接收阈值可具体为:90%*95%=85.5%。
由于集群存在多种类型的资源,所以在具体实施时,所述判定阈值包括:至少一种资源类型对应的需迁移阈值、至少一种资源类型对应的可接收阈值;相同资源类型对应的可接收阈值小于需迁移阈值。
进一步的,本实施例中步骤201中能接纳迁移数据的第二集群可采用如下步骤确定,即本实施例提供的所述方法还包括:
208、获取多个集群的可接收量。
209、从所述多个集群中,选取可接收量大于或等于所述需迁移量的集群作为第二集群。
上述208中,可利用上文中提及的各集群各自对应的可接收阈值,计算出无需进行数据迁移的集群的可接收量。
下面以多个集群中任一集群为例,对该集群的可接收量的确定进行说明。集群的可接收量可利用集群的资源总量、集群的资源使用量及可接收阈值(俗称可接收水位)来确定。其中,可接收阈值可以是人为设定,或是由执行主体自动设定,或是由执行主体对人为设定值进行调整得到,等等,本实施例对此不作具体限定。例如,可接收阈值为80%~90%间的一数值。集群的可接收量可采用如下公式(2)计算得到:
可接收量=资源总量*可接收阈值-资源使用量 (8)
其中,资源使用量是指第二集群的当前资源使用量,或者是第二集群在高峰时段(如2~14点)时的资源使用量。
另外,集群存在多种类型资源,如计算资源、存储资源及文件数资源等。因此,可接收阈值可包括多种类型资源分别对应的阈值;当然,各类型资源对应的阈值可相等,也可不相等。
可接收迁移数据集群的所有类型资源的使用均未超限(即资源使用量未超过最大允许量)时,都作为本实施例中的第二集群。实际上,所有类型资源的使用均未超限的集群中还包含有可接收量小,与第一集群的需迁移量不匹配的集群,因此,在具体实施时,可预先将可接收量小于第一集群的需迁移量的集群剔除,剩余的集群作为本实施例中的第二集群。可接收量包括但不限于:计算量接收量、数据量接收量、文件数接收量。各接收量可采用如下公式计算得到:
计算量接收量=计算资源总量*计算资源对应的可接收阈值-计算资源使用量数据量接收量=存储资源总量*存储资源对应的可接收阈值-存储资源使用量文件数接收量=文件数资源总量*文件数资源对应的可接收阈值-文件数量。
实际应用中还存在如下情况:多个集群中无可接收量大于或等于所述需迁移量的集群。此时,没有符合要求的第二集群来接收第一集群需迁移的数据。对于这种情况,本实施例提供的方法还可包括:
210、所述多个集群中无可接收量大于或等于所述需迁移量的集群时,提示需扩容;
211、调整所述第一集群的需迁移量;
212、重新从所述多个集群中选出可接收量大于或等于调整后的所述需迁移量的集群作为第二集群。
由于采购是需要一段时间的,因此可调整第一集群的需迁移量,即减小第一集群的需迁移量,先暂时缓解第一集群的现状,重新找出符合条件的第二集群,以制定出一个临时的迁移方案,解决眼前的问题。
当然,本实施例提供的所述方法还可包括如下步骤:
213、所述多个集群中无可接收量大于或等于所述需迁移量的集群时,确定扩容方案;其中,所述扩容方案包括需添加设备的集群信息及添加设备的硬件参数;
214、按照所述扩容方案,调整所述多个集群中至少部分集群的可接收量;
215、重新从所述多个集群中选出可接收量大于或等于所述需迁移量的集群作为第二集群。
上述步骤213~215可作为建议信息,以起到指导性作用。
上述步骤213中,扩容方案也可利用带约束条件的优化问题来实现得到。比如,在那个集群中添加设备,添加设备数量等角度,构建线性规划问题,其要解决的问题是:在满足约束条件的情况下,使得扩容成本最低。例如,在某些地域(比如小城市)扩容在人工成本上,要小于在一些大城市的机房扩容等。将这类因素均考虑进来,构建线性规划问题。
当然,还用存在一种扩容方案,即扩容需数据迁移的集群。这样,需迁移数据的集群可能就不需要进行数据迁移。又或者,按照扩容方案扩容后,需数据的集群还是存在数据溢出的情况,此时,需调整该集群的需迁移量,此时需迁移量会降低,这样可重新从多个集群中重新选取可作为第二集群的集群。
进一步的,本实施例提供的所述方法还可包括如下步骤:
216、量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果。
217、展示所述量化结果。
在一可实现的技术方案中,上述216“量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果”包括如下中的至少一项:
2161、获取所述目标数据迁移至所述目标集群后所述目标集群的数据存储量,将所述数据存储量作为所述量化结果中的一项;
2162、获取所述目标数据迁移至所述目标集群后所述目标集群的文件总数,将所述文件总数作为所述量化结果中的一项;
2163、获取所述目标数据的运行时长及计算量,基于所述运行时长及所述计算量,计算单位时长内的计算量;基于所述单位时长内的计算量确定所述量化结果中的一项;
2164、所述目标数据迁移至所述目标集群后,模拟出跨集群复制列表;基于所述跨集群复制列表及所述目标数据历史上因数据交互所消耗的网络资源信息,预估网络资源消耗信息,将所述网络资源消耗信息作为所述量化结果中的一项。
由于目标数据的数据量和文件数是比较稳定的,因此量化迁移影响时,对于目标集群的数据量和文件数的影响是比较容易确定的。即上述步骤2161中量化的数据存储量为:目标集群现有数据存储量+目标数据的数据量。上述步骤2162中量化的文件数为:目标集群现有文件数+目标数据的文件数。
上述2163中,集群上数据的所有运行开始时间、结束时间和总消耗的计算量(例如,总CPU消耗量)是可以获知的。在实现本实施例的过程中,可近似的认为数据在运行期间的计算资源消耗是平稳的,这样就把数据运行时的总消耗的计算量均摊到每个小时,以每个小时内的计算量作为量化结果中的一项。
以数据为project为例,project上有多个作业。对于这类情况,同样的,近似认为每个作业在运行期间的计算资源消耗(下面以计算资源为CPU资源)是平稳的,这样就可以把每个作业的总CPU消耗均摊到每个小时;再将每个小时内,这个project上所有作业的CPU消耗加和,就得到了这个小时project的CPU资源消耗量。
在以具体实施方案中,上述“基于所述单位时长内的计算量确定所述量化结果中的一项”可具体为:将目标集群当前时刻消耗的总计算量减去所述单位时长内的计算量,得到计算量影响结果;将该计算量影响结果作为所述量化结果中的一项。
上述2164中,跨集群复制总体思想是,如果集群A的project a需要读取集群B的表t,那么读取一次就会产生一次跨集群的流量,流量的大小取决与表t的实际大小。假如集群A中的应用需要读取多次表t,就会产生多次直读的流量。于是可提前将表t复制到集群A,这样只会产生一次复制的流量。所以跨集群复制策略会影响跨集群的流量大小的。
一种实现方案是跨集群复制的规则是753,即如果表t被集群A的应用在过去7天内有5天都读取了,且每天都读取3次以上,那么就将表t复制到集群A。
当进行数据(如project)迁移之后,原本需要跨集群读取数据的应用,可能被迁移到了同一个集群,或者原本在一个集群的可能被迁移到了不同集群,这种变化会导致跨集群复制策略生成的复制列表变化,进而开机群的流量也会变化,因此需要根据新的project排布,利用753规则估计出新的跨集群复制策略,进而估算跨集群流量的变化。
这里还需要补充的是:上述步骤2161~2164仅示出了量化结果中含有对目标集群的影响量化项。实质上,本实施例提供的技术方案中量化结果中还可包括第一集群上的目标数据迁移后,对第一集群的影响量化项。同上述步骤2161~2164,第一集群的数据量及文件数的量化项确定比较容易,只要将第一集群现有数据存储量减去目标数据的数据量即可得到数据量量化项,将第一集群现有文件数减去目标数据的文件数即可得到文件数量化项。对第一集群的计算资源影响量化项可以通过上述提及的方法得到目标数据单位时长内的计算量,然后将第一集群当前时刻消耗的总计算量减去目标数据单位时长内的计算量,得到对第一集群的计算资源影响量化结果。对第一集群的所述网络资源消耗影响量化项,同样也可通过上述提及的方法基于模拟出的所述跨集群复制列表及所述目标数据历史上因数据交互所消耗的网络资源信息,预估第一集群对应的网络资源消耗信息。
参加图5和图6所示的实例在显示屏上显示量化结果。其中,图5中的曲线图1为第一集群数据迁移后各时刻对应的计算资源影响量化项或数据量影响量化项的曲线图。图5中曲线图2为目标集群在接收目标数据后各时刻对应的计算资源影响量化项或数据量影响量化项的曲线图。图6中曲线图3为第一集群数据迁移后各时刻对应的网络资源消耗影响量化项的曲线图。图6中曲线图4为目标集群在接收目标数据后各时刻对应的网络资源消耗影响量化项的曲线图。
在展示出的界面上,还可显示迁移方案。例如,采用如6所示的图表方式列出至少一个欲迁移目标数据的标识(如名称)、各目标数据所在集群标识、各目标数据可迁移目标集群标识、各目标数据迁移的数据量、各目标数据迁移的计算量及各目标数据迁移的文件数。
在如图6所示的界面上还可展示用于与用户交互的控件5。即本实施例提供的所述方法还可包括如下步骤:
218、展示所述迁移方案;
219、响应于用户针对所述迁移方案触发的确认操作,将所述目标数据迁移至所述目标集群。
例如,用户可通过触控图6上展示的控件5来触发针对所述迁移方案触发的确认操作。当然,用户也可通过语音的方式来触发针对所述迁移方案触发的确认操作,本实施例对此不作具体限定。
图7示出了本申请一实施例提供的信息确定方法的流程示意图。本实施例提供的所述信息确定方法的执行主体可以是上述数据处理系统中的控制装置。具体的,如图7所示,所述方法包括:
301、获取第三集群中包含的体量信息及历史运行信息。
302、根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值。
303、根据所述第三集群的资源总量、所述第三集群的资源使用量及所述判定阈值,确定所述第三集群的需迁移量或可接收量。
本实施例中的第三集群可以是数据处理平台上多个集群中的任一集群。上述301中,所述历史运行信息包括:所述第三集群历史上处理的高优先级数据的数量。
有关上述步骤302和303的内容,可参见上述实施例中的相应描述,此处不作赘述。
基于上述方法可确定出数据处理平台上可作为上述实施例中第一集群的集群,以及可作为上述实施例中提及的第二集群的集群。第一集群及至少一个第二集群确定出后,便可采用上述实施例提供的数据迁移方法进行迁移方案的确定,具体内容可参见上述实施例,此处不再赘述。
本实施例提供的技术方案,为了辅助后续迁移方案的制定,利用集群的第一集群的体量信息及历史运行信息,为集群设置较为合理的判定阈值;利用该判定阈值量化得出的集群需迁移量或可接收量,在迁移方案制定过程中,可有效防止迁移后接收集群的资源不足的情况出现;另外,因集群需迁移量或可接收量的量化准确度高,有助于提高后续制定的迁移方案的合理性,以解决现有运维人员作出的迁移规划过为保守的问题。
在一种可实现的技术方案中,上述步骤302“根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值”,可包括:
3021、获取所述第三集群对应的基准阈值;
3022、基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的判定阈值。
其中,上述基准阈值可人为设定,例如由经验丰富的运维专家设定。上述3022中判定阈值可包括:需迁移阈值及可接收阈值。相应的,步骤3022“基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的判定阈值”,可具体为:
基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的需迁移阈值;
根据所述第三集群对应的需迁移阈值,确定所述第三集群对应的可接收阈值;
其中,所述可接收阈值小于所述需迁移阈值。
这里需要说明的是:上述步骤3022有关如何为集群设置需迁移阈值及可接收阈值的内容,可参见上述数据迁移方法实施例中的相关内容,此处不再赘述。
进一步的,所述判定阈值包括:至少一种资源类型对应的阈值;其中,资源类型包括:计算资源类型、存储资源类型、文件数资源类型。
再进一步的,所述判定阈值包括:至少一种资源类型对应的需迁移阈值、至少一种资源类型对应的可接收阈值;相同资源类型对应的可接收阈值小于需迁移阈值。
图8示出了本申请另一实施例提供的数据迁移方法的流程示意图。如图所示,所述方法包括:
401、根据多个集群的资源信息,从所述多个集群中确定出需进行数据迁移的第一集群及至少一个能接收迁移数据的第二集群。
402、基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型。
403、执行所述优化模型,得到迁移方案。
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
上述401中,可利用上文中提及的利用判定阈值判定多个集群中,需进行数据迁移的集群作为第一集群。利用判定阈值(如可接收阈值)计算无需进行数据迁移的集群的可接收量;将可接收量大于或等于所述第一集群的需迁移量的集群作为第二集群。
上述402中,可利用优化算法来构建优化模型。该优化模型可理解为:包含有构建出的目标函数,并确定了一组求解参数;所述求解参数使目标函数的值最小。其中,求解参数中可包含有目标数据的标识及目标集群的标识。当然,在具体实施时,还可基于实际需要增加其他参数,本实施例对此不作具体限定。在一些实施方式中,目标函数可以是线性函数或非线性函数,可以使用迭代求解技术使目标函数最小化,以便获得最优解。下文将结合具体实例对优化模型的具体实现进行说明。
本实施例提供的技术方案,利用优化模型的思路来求解出迁移方案;其中,优化模型的构建考虑了数据间的依赖、需迁移数据集群的资源信息及至少一个可接收集群的资源信息;通过执行该优化模型可求解出较优的迁移方案;较现有人工规划迁移,更准确;且能有效解决现有技术中运维人员作出的迁移规划过为保守的问题。
进一步的,所述资源信息包括但不限于:至少一种类型资源的总量、至少一种类型资源的使用信息及至少一种类型资源对应的判定阈值。其中,资源类型包括但不限于如下中的至少一种:计算资源、存储资源、文件数资源。所述至少一种类型资源对应的判定阈值包括但不限于:至少一种类型资源对应的需迁移阈值及至少一种类型资源对应的可接收阈值。
在一可实现的技术方案中,上述步骤402“基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型”,可包括:
4021、根据所述数据间的依赖关系,构建求解集群间网络资源消耗最优解问题中的目标函数;
4022、基于所述第一集群的资源信息,确定所述第一集群的需迁移量;
4023、基于所述至少一个第二集群的资源信息,确定所述至少一个第二集群的可接收量;
4024、根据所述需迁移量及所述至少一个第二集群的可接收量,确定求解集群间网络资源消耗最优解问题中的约束条件。
有关上述4021~4024的具体实现,可参见上述实施例中的内容,此处不作赘述。
进一步的,本实施例提供的所述方法还可包括如下步骤:
404、量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果;
405、展示所述量化结果。
进一步的,本实施例提供的所述方法还可包括如下步骤:
406、展示所述迁移方案;
407、响应于用户针对所述迁移方案触发的确认操作,将所述目标数据迁移至所述目标集群。
同样的,有关上述步骤404~407的内容,可参见上述实施例中的描述,此处不作赘述。另外,在上述方法实施例中提及到的部分步骤,本实施例中未提及,并不代表本实施例不包含这些步骤。具体实施时,本实施例提供的所述方法可包括上述实施例中的所有内容,可互相参照。
下面结合本申请技术方案的研发过程、研发思想等,并以一具体实现实例为主线对本申请各实施例提供的技术方案进行说明,以便于理解。
运维人员的资源调度经验十分宝贵,因此在实现方案时需充分利用运维人员的经验以及集群的相关参数,以突破人工运维存在的一些瓶颈。为突破现有技术存在的问题,还要保证迁移方案制定的合理性,方案需具备如下几点:
1、需迁移量的及时甚至提前感知
2、最优Project迁移方案的精细化求解
3、迁移结果的准确量化评估
综上各实施例,从整体上分析本申请提供的技术方案主要分为如下三个步骤,参见图9所示:
步骤1:需迁移判定和需迁移量量化
即确定哪些集群需要迁移,各项资源需要迁移多少量;哪些集群可以接收迁移,各项资源的容纳能力是多少。如图9所示,集群的资源可包括:计算资源、存储资源、文件数资源。数据处理平台上每个集群的服务器规模、计算和存储能力及弹性均不相同。因此,可结合运维人员的专家经验及集群历史运行情况,为每个集群的每项资源均设定了个性化的“需迁移阈值”和“可接收阈值”。具体的,有关“需迁移阈值”和“可接收阈值”的确定过程可参见上述实施例中的内容。此外,资源使用存在明显的“高峰时段”,即2-14点,在量化需迁移量时,主要考虑高峰时段的水位,结合集群资源总体容量,进而可以得到具体的需迁移量和可接收量。
此外,存在所有待迁移集群的需求超过所有可接收集群的能力的情况,此时表明平台整体有扩容需求,但由于采购需要一段时间,因此根据各第二集群的接收能力调整需迁移量,产生临时性的迁移方案,以解决眼前线上的问题。
步骤2:线性规划求解最优迁移方案
在多个集群中挑选出最合适的project迁移到最合适的集群。当确定了集群层面的需迁移量和可接收量后,需要从待迁移集群的众多Project中选择最佳的迁移方案。这个迁移方案需要考虑以下几点:
1.1既需要满足各个待迁移集群计算、存储和文件数的需迁移量,也不能超过接收集群各项资源的容纳能力。
1.2与存储和文件数不同,由于Project的计算资源消耗具有很强的时段性,因此对于计算资源需要细化到小时粒度考虑。
1.3前面提到Project间存在数据间的依赖关系,将消耗集群间的带宽,且位于不同地域的集群间带宽成本不同,Project的迁移应尽量控制集群间的带宽消耗。
上面的过程可以表述成一个带约束条件的优化问题,且约束和目标函数均是线性的。线性规划是最著名的解决最优化问题的方法之一。典型的线性规划问题的标准形式如下:
Maximize CTx
s.t.Ax<=b
线性规划问题中,决策变量x是某个project是否要从集群A迁到集群B,若迁移,则x=1;若不迁移,则为0。即决策变量是0、1变量,因此这个线性规划问题其实是0、1整数规划。参见图9所示,目标函数中考虑了机房间的距离(即带宽成本或数据交互成本)以及project间的数据依赖。约束条件中考虑待迁移集群各项资源(如图9中所示出的资源包括:文件数、存储、计算资源等)的需迁移量和可接收集群的可接收量。
目标函数为:
Figure BDA0002361045120000301
Figure BDA0002361045120000302
【迁走与本集群流量依赖小的,与目标集群流量依赖大的project】
Figure BDA0002361045120000303
【每个project不能同时迁往多个不同集群】
Figure BDA0002361045120000304
【满足待迁集群k的计算量需迁移量】
Figure BDA0002361045120000305
【满足待迁集群k的存储量需迁移量】
Figure BDA0002361045120000306
【满足待迁集群k的文件数需迁移量】
Figure BDA0002361045120000307
【不超过集群j的可接收存储量】
Figure BDA0002361045120000308
【不超过集群j的可接收文件数】
Figure BDA0002361045120000309
【迁移的proj第h小时的计算量不超过集群j该小时的可接收计算量】
变量说明:
xij=0或1【标识proji是否要迁往集群j,i=1…m,j=1…n】
xijk=0或1【标识原集群为k的proji是否要迁往集群j,i=1...m,j=1...n,k=1...p】
originflowsizei【proji在原集群的流量依赖大小】
targetflowsizeij【目标集群j与proji的流量依赖大小】
这里需要说明的是:流量依赖大小即本文中提及的网络资源消耗量,网络资源消耗量是可以获知的。
origincosti【proji与原集群project的通信费用】
targetcostij【proji与目标集群project的通信费用,比如,同机房通信费为A元,同地域不同机房通信费为B元,不同地域的两机房通信费为C元】
projcui【proji的结束时间在2-14点的任务cpu消耗量】
projcuih【proji的h点的任务cpu消耗量】
projdatasizei【proji的数据量】
projfilenumi【proji的文件数】
tomovecuk【集群k需迁移的计算量】
tomovedatasizek【集群k需迁移的存储量】
tomovefilenumk【集群k需迁移的文件数】
acceptcuj【集群j可接收的计算量】
acceptcujh【集群j在第h小时可接收的计算量】
acceptdatasizej【集群j可接收的存储量】
acceptfilenumj【集群j可接收的文件数】
解决线性规划问题的方法有很多,如单纯形法、内点法等,也有很多的科学计算工具可以使用,如matlab、scipy等。我们使用GLPK:GNU Linear Programming Kit来求解上面的线性规划问题。GLPK使用C++编写,效率高,可用于解决大规模线性规划、混合整数规划等相关问题。
步骤3:迁移影响的量化估计
分析本次迁移对集群资源水位和带宽消耗会产生什么影响,因为现实场景较复杂,存在跨集群复制等问题,有些影响需要得到迁移方案后,根据新的project排布才能模拟计算出影响的大小。
量化影响的目的是给运维人员一个图形化的直观展现,特别是算法运行初期,可以帮助运维人员判断算法的可行性。
Project迁移对集群的影响可以帮助运维人员直观地看到本次迁移的效果和影响,具体可以分为三大部分进行分析。
第一部分、对数据存储量和文件数的影响量化项
由于Project的数据量和文件数大小是相对稳定的,因此迁移方案对于集群存储和文件数水位的影响相对容易确定。
第二部分、对计算资源的影响量化项
Project的计算资源消耗有很强的时段性,不同Project的计算资源消耗模式具有很大差异,将欲迁移的Project的CPU消耗都均摊到了运行时间段的每一个小时,进而估计迁移后集群24小时CPU消耗的变化。
第三部分、对集群间网络资源的影响量化项
在前面的线性规划问题中,将Project之间的数据依赖放到了目标函数中进行优化,而不是放到约束条件中。原因在于:根据Project之间的数据依赖以及当时的Project的集群排布情况,线上每天会根据较复杂的一些规则产生一份跨集群复制列表,将原本需要跨集群直读的数据转化为集群内部的读取。因此,在迁移方案真正产生之前,是无法预估线上集群间的流量。而在线性规划问题求解出迁移方案后,需要根据规则和新的Project排布模拟出新的跨集群复制列表,再根据线上历史真实流量情况估计本次Project迁移带来的网络资源变化情况。其中,跨集群复制总体思想是,如果集群A的project a需要读取集群B的表t,那么读取一次就会产生一次跨集群的流量,流量(即网络资源)的大小取决与表t的实际大小。假如集群A中的应用需要读取多次表t,就会产生多次直读的流量。于是提前将表t复制到集群A,这样只会产生一次复制的流量。所以跨集群复制策略会影响跨集群的流量大小。跨集群复制的规则是753,即如果表t被集群A的应用在过去7天内有5天都读取了,且每天都读取3次以上,那么就将表t复制到集群A。当进行project迁移之后,原本需要跨集群读取数据的应用,可能被迁移到了同一个集群,或者原本在一个集群的可能被迁移到了不同集群,这种变化会导致跨集群复制策略生成的复制列表变化,进而开机群的流量也会变化,因此需要根据新的project排布,利用753规则估计出新的跨集群复制策略,进而估算跨集群流量的变化。
步骤4:结果呈现
参见图5和图6所示的呈现界面,该界面上展示有需数据迁移的第一集群的相关信息,如CPU利用率(即计算量使用信息)、计算量迁移量、数据量迁移量、文件数迁移量等;该界面上还展示有目标集群的相关信息,如CPU利用率、计算量接收量、数据量接收量、文件数接收量等。该界面上还可展示迁移影响的量化数据。图5中的曲线图1为第一集群数据迁移后各时刻对应的计算资源影响量化项或数据量影响量化项的曲线图。图5中曲线图2为目标集群在接收目标数据后各时刻对应的计算资源影响量化项或数据量影响量化项的曲线图。图6中曲线图3为第一集群数据迁移后各时刻对应的网络资源消耗影响量化项的曲线图。图6中曲线图4为目标集群在接收目标数据后各时刻对应的网络资源消耗影响量化项的曲线图。
在展示出的界面上,还可显示迁移方案。例如,采用如6所示的图表5方式列出至少一个欲迁移目标数据的标识(如名称)、各目标数据所在集群标识、各目标数据可迁移目标集群标识、各目标数据迁移的数据量、各目标数据迁移的计算量及各目标数据迁移的文件数。
在如图6所示的界面上还可展示用于与用户交互的控件6。用户可通过触控该控件6来触发迁移指令,以便启动按照迁移方案进行数据迁移的操作。
另外,上述图5和图6的内容可在同一页面中,也可分页显示。
图10示出了本申请一实施例提供的数据迁移装置的结构示意图。如图10所示,所述数据迁移装置包括:获取模块11及确定模块12,其中,获取模块11用于获取第一集群的需迁移量及至少一个第二集群的可接收量。所述确定模块12用于基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;还用于根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案。其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
进一步的,所述确定模块12还用于:
基于数据间的依赖关系,确定所述第一集群上的数据因数据交互需消耗的第一网络资源信息;
基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的数据交互所需消耗的第二网络资源信息;
根据所述第一网络资源信息及所述第二网络资源信息,确定所述目标信息。
进一步的,所述第一网络资源信息包括如下中的至少一组信息项:所述第一集群上的数据产生集群内数据交互需消耗的网络资源量;所述第一集群上的数据产生跨集群间数据交互需消耗的网络资源量及网络资源类型。
进一步的,所述第二网络资源信息包括如下中的至少一组信息项:所述第一集群上的数据迁移至一第二集群后,所述数据产生在所述第二集群内数据交互需消耗的网络资源量;所述第一集群上的数据迁移至一第二集群后,所述数据产生的跨集群间数据交互需消耗的网络资源量及网络资源类型。
进一步的,不同集群部署在至少一个机房内;当存在多个机房的情况下,多个机房中包含有部署于同一地域的至少两个机房,和/或部署于不同地域的至少两个机房;网络资源类型包括如下中的至少一种:同机房内数据交互所占的内网资源类型、同地域不同机房间数据交互所占的同地域网络资源类型,以及不同地域两机房间数据交互所占的跨地域网络资源类型。
进一步的,所述确定模块12还用于:根据所述第一网络资源信息,计算第一数据交互成本;根据所述第二网络资源信息,计算第二数据交互成本;根据所述第一数据交互成本及所述第二数据交互成本,确定所述目标信息。
进一步的,所述确定模块12还用于:根据所述第一数据交互成本及所述第二数据交互成本,构建求解数据交互成本最优解问题中的目标函数,以作为所述目标信息。
进一步的,所述确定模块12还用于:基于所述需迁移量及所述至少一个第二集群的可接收量,确定求解数据交互成本最优解问题中的约束条件;结合所述约束条件求解所述目标函数,得出所述迁移方案。
进一步的,所述需迁移量包括如下中的至少一种:计算量迁移量、数据量迁移量、文件数迁移量;
所述可接收量包括如下中的至少一种:计算量接收量、数据量接收量、文件数接收量;以及
确定出的所述约束条件包括如下中的至少一项:
所述目标集群数量小于或等于第一阈值;
所述目标数据的计算量大于或等于所述计算量迁移量;
所述目标数据的数据量大于或等于所述数据量迁移量;
所述目标数据的文件数大于或等于所述文件数迁移量;
所述目标数据的计算量小于或等于所述计算量接收量;
所述目标数据的数据量小于或等于所述数据量接收量;
所述目标数据的文件数小于或等于所述文件数接收量。
进一步的,所述获取模块11还用于获取所述第一集群的体量信息;以及获取所述第一集群的历史运行信息。所述确定模块12还用于根据所述第一集群的体量信息及所述历史运行信息,确定所述第一集群的判定阈值;基于所述第一集群的资源总量、所述第一集群的资源使用量及所述判定阈值,对所述第一集群进行数据需迁移的判定和所述需迁移量的量化操作。
进一步的,所述历史运行信息包括:所述第一集群历史上处理的高优先级数据的数量。所述判定阈值包括:至少一种资源类型对应的阈值;其中,资源类型包括:计算资源类型、存储资源类型、文件数资源类型。所述判定阈值包括:至少一种资源类型对应的需迁移阈值、至少一种资源类型对应的可接收阈值;相同资源类型对应的可接收阈值小于需迁移阈值。
进一步的,本实施例提供的所述数据迁移装置还包括:
所述获取模块11,还用于获取多个集群的可接收量;
选取模块,用于从所述多个集群中,选取可接收量大于或等于所述需迁移量的集群作为第二集群。
进一步的,本实施例提供的所述数据迁移装置还包括:
提示模块,用于在所述多个集群中无可接收量大于或等于所述需迁移量的集群时,提示需扩容;
调整模块,用于调整所述第一集群的需迁移量;
所述选取模块,还用于重新从所述多个集群中选出可接收量大于或等于调整后的所述需迁移量的集群作为第二集群。
进一步的,所述获取模块还用于:获取所述待选集群的资源总量、所述待选集群的资源使用量及可接收阈值;根据所述待选集群的资源总量、所述待选集群的资源使用量及可接收阈值,计算所述待选集群的可接收量。
进一步的,本实施例提供的所述数据迁移装置还包括:
量化模块,用于量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果;
展示模块,用于展示所述量化结果。
再进一步的,所述量化模块具有如下中至少一项功能:
获取所述目标数据迁移至所述目标集群后所述目标集群的数据存储量,将所述数据存储量作为所述量化结果中的一项;
获取所述目标数据迁移至所述目标集群后所述目标集群的文件总数,将所述文件总数作为所述量化结果中的一项;
获取所述目标数据的运行时长及计算量,基于所述运行时长及所述计算量,计算单位时长内的计算量;基于所述单位时长内的计算量确定所述量化结果中的一项;
所述目标数据迁移至所述目标集群后,模拟出跨集群复制列表;基于所述跨集群复制列表及所述目标数据历史上因数据交互所消耗的网络资源信息,预估网络资源消耗信息,将所述网络资源消耗信息作为所述量化结果中的一项。
进一步的,本实施例提供的所述数据迁移装置还包括:
展示模块,用于展示所述迁移方案;
迁移模块,用于响应于用户针对所述迁移方案触发的确认操作,将所述目标数据迁移至所述目标集群。
这里需要说明的是:上述实施例提供的数据迁移装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
本申请一实施例还提供一种信息确定装置。该信息确定装置的原理性结构与上述图10类同。区别在于,各模块的功能不同。具体的,所述信息确定装置包括获取模块及确定模块。其中,获取模块用于获取第三集群中包含的体量信息及历史运行信息。确定模块用于根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值;还用于根据所述第三集群的资源总量、所述第三集群的资源使用量及所述判定阈值,确定所述第三集群的需迁移量或可接收量。
进一步的,所述历史运行信息包括:所述第三集群历史上处理的高优先级数据的数量。
进一步的,所述确定模块具体用于:获取所述第三集群对应的基准阈值;基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的判定阈值。
进一步的,所述判定阈值包括:需迁移阈值及可接收阈值。相应的,所述确定模块具体用于:
基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的需迁移阈值;
根据所述第三集群对应的需迁移阈值,确定所述第三集群对应的可接收阈值;
其中,所述可接收阈值小于所述需迁移阈值。
进一步的,所述判定阈值包括:至少一种资源类型对应的阈值;其中,资源类型包括:计算资源类型、存储资源类型、文件数资源类型。
进一步的,所述判定阈值包括:至少一种资源类型对应的需迁移阈值、至少一种资源类型对应的可接收阈值;相同资源类型对应的可接收阈值小于需迁移阈值。
这里需要说明的是:上述实施例提供的数据确定装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图11示出了本申请另一实施例还提供一种的数据迁移装置的结构示意图。如图11所示,所示数据迁移装置包括:确定模块21、构建模块22、执行模块23。其中,确定模块21用于根据多个集群的资源信息,从所述多个集群中确定出需进行数据迁移的第一集群及至少一个能接收迁移数据的第二集群。构建模块22用于基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型。执行模块23用于执行所述优化模型,得到迁移方案。其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
进一步的,资源信息包括:至少一种类型资源的总量、至少一种类型资源的使用信息及至少一种类型资源对应的判定阈值;其中,资源类型包括如下中的至少一种:计算资源、存储资源、文件数资源;所述至少一种类型资源对应的判定阈值包括:至少一种类型资源对应的需迁移阈值及至少一种类型资源对应的可接收阈值。
进一步的,构建模块22用于根据所述数据间的依赖关系,构建求解集群间网络资源消耗最优解问题中的目标函数;基于所述第一集群的资源信息,确定所述第一集群的需迁移量;基于所述至少一个第二集群的资源信息,确定所述至少一个第二集群的可接收量;根据所述需迁移量及所述至少一个第二集群的可接收量,确定求解集群间网络资源消耗最优解问题中的约束条件。
进一步的,本实施例提供的数据迁移装置还包括:
量化模块,用于量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果;
展示模块,用于展示所述量化结果。
进一步的,本实施例提供的数据迁移装置还包括:
展示模块,用于展示所述迁移方案;
迁移模块,用于响应于用户针对所述迁移方案触发的确认操作,将所述目标数据迁移至所述目标集群。
这里需要说明的是:上述实施例提供的数据迁移装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图12示出了本申请一实施例提供的电子设备的结构示意图。如图12所示,所述电子设备包括存储器31及处理器32;其中,
所述存储器31,用于存储程序;
所述处理器32,与所述存储器31耦合,用于执行所述存储器31中存储的所述程序,以用于:
获取第一集群的需迁移量及至少一个第二集群的可接收量;
基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;
根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
上述存储器31可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器31可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述处理器32在执行存储器31中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图12所示,电子设备还包括:显示器34、电源组件35、音频组件36、通信组件33等其它组件。图12中仅示意性给出部分组件,并不意味着电子设备只包括图12所示组件。
本申请另一实施例还提供了一种电子设备。本实施例提供的所述电子设备的结构同上述电子设备实施例的结构类似,参见上述图12所示。该电子设备包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取第三集群中包含的体量信息及历史运行信息;
根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值;
根据所述第三集群的资源总量、所述第三集群的资源使用量及所述判定阈值,确定所述第三集群的需迁移量或可接收量。
其中,处理器在执行存储器中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
本申请又一实施例还提供了一种电子设备。本实施例提供的所述电子设备的结构同上述电子设备实施例的结构类似,参见上述图12所示。该电子设备包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
根据多个集群的资源信息,从所述多个集群中确定出需进行数据迁移的第一集群及至少一个能接收迁移数据的第二集群;
基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型;
执行所述优化模型,得到迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
其中,处理器在执行存储器中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的数据迁移方法的步骤或功能。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述实施例提供的信息确定方法的步骤或功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (32)

1.一种数据迁移方法,包括:
获取第一集群的需迁移量及至少一个第二集群的可接收量;
基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;
根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
2.根据权利要求1所述方法,基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息,包括:
基于数据间的依赖关系,确定所述第一集群上的数据因数据交互需消耗的第一网络资源信息;
基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的数据交互所需消耗的第二网络资源信息;
根据所述第一网络资源信息及所述第二网络资源信息,确定所述目标信息。
3.根据权利要求2所述的方法,所述第一网络资源信息包括如下中的至少一组信息项:
所述第一集群上的数据产生集群内数据交互需消耗的网络资源量;
所述第一集群上的数据产生跨集群间数据交互需消耗的网络资源量及网络资源类型。
4.根据权利要求2所述的方法,所述第二网络资源信息包括如下中的至少一组信息项:
所述第一集群上的数据迁移至一第二集群后,所述数据产生在所述第二集群内的数据交互需消耗的网络资源量;
所述第一集群上的数据迁移至一第二集群后,所述数据产生的跨集群间数据交互需消耗的网络资源量及网络资源类型。
5.根据权利要求3或4所述的方法,
不同集群部署在至少一个机房内;
当存在多个机房的情况下,多个机房中包含有部署于同一地域的至少两个机房,和/或部署于不同地域的至少两个机房;
网络资源类型包括如下中的至少一种:同机房内数据交互所占的内网资源类型、同地域不同机房间数据交互所占的同地域网络资源类型,以及不同地域两机房间数据交互所占的跨地域网络资源类型。
6.根据权利要求3或4所述的方法,根据所述第一网络资源信息及所述第二网络资源信息,确定所述目标信息,包括:
根据所述第一网络资源信息,计算第一数据交互成本;
根据所述第二网络资源信息,计算第二数据交互成本;
根据所述第一数据交互成本及所述第二数据交互成本,确定所述目标信息。
7.根据权利要求1至3中任一项所述的方法,根据所述第一数据交互成本及所述第二数据交互成本,确定所述目标信息,包括:
根据所述第一数据交互成本及所述第二数据交互成本,构建求解数据交互成本最优解问题中的目标函数,以作为所述目标信息。
8.根据权利要求7所述的方法,根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案,包括:
基于所述需迁移量及所述至少一个第二集群的可接收量,确定求解数据交互成本最优解问题中的约束条件;
结合所述约束条件求解所述目标函数,得出所述迁移方案。
9.根据权利要求8所述的方法,所述需迁移量包括如下中的至少一种:计算量迁移量、数据量迁移量、文件数迁移量;
所述可接收量包括如下中的至少一种:计算量接收量、数据量接收量、文件数接收量;以及
确定出的所述约束条件包括如下中的至少一项:
所述目标集群数量小于或等于第一阈值;
所述目标数据的计算量大于或等于所述计算量迁移量;
所述目标数据的数据量大于或等于所述数据量迁移量;
所述目标数据的文件数大于或等于所述文件数迁移量;
所述目标数据的计算量小于或等于所述计算量接收量;
所述目标数据的数据量小于或等于所述数据量接收量;
所述目标数据的文件数小于或等于所述文件数接收量。
10.根据权利要求1至3中任一项所述的方法,还包括:
获取所述第一集群的体量信息;
获取所述第一集群的历史运行信息;
根据所述第一集群的体量信息及所述历史运行信息,确定所述第一集群的判定阈值;
基于所述第一集群的资源总量、所述第一集群的资源使用量及所述判定阈值,对所述第一集群进行数据需迁移的判定和所述需迁移量的量化操作。
11.根据权利要求10所述的方法,所述历史运行信息包括:所述第一集群历史上处理的高优先级数据的数量,
所述判定阈值包括:至少一种资源类型对应的阈值;其中,资源类型包括:计算资源类型、存储资源类型、文件数资源类型。
12.根据权利要求11所述的方法,所述判定阈值包括:至少一种资源类型对应的需迁移阈值、至少一种资源类型对应的可接收阈值;
相同资源类型对应的可接收阈值小于需迁移阈值。
13.根据权利要求1至3中任一项所述的方法,还包括:
获取多个集群的可接收量;
从所述多个集群中,选取可接收量大于或等于所述需迁移量的集群作为第二集群。
14.根据权利要求13所述的方法,还包括:
所述多个集群中无可接收量大于或等于所述需迁移量的集群时,提示需扩容;
调整所述第一集群的需迁移量;
重新从所述多个集群中选出可接收量大于或等于调整后的所述需迁移量的集群作为第二集群。
15.根据权利要求14所述的方法,获取所述多个集群中一待选集群的可接收量,包括:
获取所述待选集群的资源总量、所述待选集群的资源使用量及可接收阈值;
根据所述待选集群的资源总量、所述待选集群的资源使用量及可接收阈值,计算所述待选集群的可接收量。
16.根据权利要求1至3中任一项所述的方法,还包括:
量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果;
展示所述量化结果。
17.根据权利要求16所述的方法,量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果,包括如下中的至少一项:
获取所述目标数据迁移至所述目标集群后所述目标集群的数据存储量,将所述数据存储量作为所述量化结果中的一项;
获取所述目标数据迁移至所述目标集群后所述目标集群的文件总数,将所述文件总数作为所述量化结果中的一项;
获取所述目标数据的运行时长及计算量,基于所述运行时长及所述计算量,计算单位时长内的计算量;基于所述单位时长内的计算量确定所述量化结果中的一项;
所述目标数据迁移至所述目标集群后,模拟出跨集群复制列表;基于所述跨集群复制列表及所述目标数据历史上因数据交互所消耗的网络资源信息,预估网络资源消耗信息,将所述网络资源消耗信息作为所述量化结果中的一项。
18.根据权利要求1至3中任一项所述的方法,还包括:
展示所述迁移方案;
响应于用户针对所述迁移方案触发的确认操作,将所述目标数据迁移至所述目标集群。
19.一种数据处理系统,包括:
第一集群,用于处理、存储数据;
至少一个第二集群,与所述第一集群网络连接,用于处理、存储数据;
控制装置,与所述第一集群及所述至少一个第二集群网络连接,用于获取第一集群的需迁移量及至少一个第二集群的可接收量;基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据及所述至少一个第二集群中能接收所述目标数据的目标集群。
20.根据权利要求19所述的系统,还包括:
客户端,与所述控制装置网络连接,用于展示所述迁移方案;
所述客户端,还用于监听到用户针对所述迁移方案触发的确认事件,向所述控制装置发送迁移指令;
所述控制装置,还用于根据所述迁移指令,将所述目标数据迁移至所述目标集群。
21.一种信息确定方法,包括:
获取第三集群中包含的体量信息及历史运行信息;
根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值;
根据所述第三集群的资源总量、所述第三集群的资源使用量及所述判定阈值,确定所述第三集群的需迁移量或可接收量。
22.根据权利要求21所述的方法,根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值,包括:
获取所述第三集群对应的基准阈值;
基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的判定阈值。
23.根据权利要求22所述的方法,所述判定阈值包括:需迁移阈值及可接收阈值;以及
基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的判定阈值,包括:
基于所述第三集群的体量信息及所述历史运行信息,对所述基准阈值进行调整,得到所述第三集群对应的需迁移阈值;
根据所述第三集群对应的需迁移阈值,确定所述第三集群对应的可接收阈值;
其中,所述可接收阈值小于所述需迁移阈值。
24.根据权利要求22或23所述的方法,所述判定阈值包括:至少一种资源类型对应的阈值;
其中,资源类型包括:计算资源类型、存储资源类型、文件数资源类型。
25.根据权利要求24所述的方法,所述判定阈值包括:至少一种资源类型对应的需迁移阈值、至少一种资源类型对应的可接收阈值;
相同资源类型对应的可接收阈值小于需迁移阈值。
26.一种数据迁移方法,包括:
根据多个集群的资源信息,从所述多个集群中确定出需进行数据迁移的第一集群及至少一个能接收迁移数据的第二集群;
基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型;
执行所述优化模型,得到迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
27.根据权利要求26所述的方法,资源信息包括:至少一种类型资源的总量、至少一种类型资源的使用信息及至少一种类型资源对应的判定阈值;
其中,资源类型包括如下中的至少一种:计算资源、存储资源、文件数资源;
所述至少一种类型资源对应的判定阈值包括:至少一种类型资源对应的需迁移阈值及至少一种类型资源对应的可接收阈值。
28.根据权利要求27所述的方法,基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型,包括:
根据所述数据间的依赖关系,构建求解集群间网络资源消耗最优解问题中的目标函数;
基于所述第一集群的资源信息,确定所述第一集群的需迁移量;
基于所述至少一个第二集群的资源信息,确定所述至少一个第二集群的可接收量;
根据所述需迁移量及所述至少一个第二集群的可接收量,确定求解集群间网络资源消耗最优解问题中的约束条件。
29.根据权利要求26至28中任一项所述的方法,还包括:
量化估计所述目标数据迁移至所述目标集群后的迁移影响,得到量化结果;
展示所述量化结果。
30.一种电子设备,包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取第一集群的需迁移量及至少一个第二集群的可接收量;
基于数据间的依赖关系,确定所述第一集群上的数据迁移至任一第二集群后引起的与网络资源消耗相关的目标信息;
根据所述目标信息、所述需迁移量及所述至少一个第二集群的可接收量,确定迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
31.一种电子设备,包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取第三集群中包含的体量信息及历史运行信息;
根据所述第三集群的体量信息及所述历史运行信息,确定所述第三集群对应的判定阈值;
根据所述第三集群的资源总量、所述第三集群的资源使用量及所述判定阈值,确定所述第三集群的需迁移量或可接收量。
32.一种电子设备,包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
根据多个集群的资源信息,从所述多个集群中确定出需进行数据迁移的第一集群及至少一个能接收迁移数据的第二集群;
基于数据间的依赖关系,所述第一集群的资源信息及所述至少一个第二集群的资源信息,构建优化模型;
执行所述优化模型,得到迁移方案;
其中,所述迁移方案包括:所述第一集群上能迁移的目标数据、所述至少一个第二集群中能接收所述目标数据的目标集群。
CN202010021782.2A 2020-01-09 2020-01-09 数据迁移及信息确定方法、数据处理系统、电子设备 Pending CN111258755A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010021782.2A CN111258755A (zh) 2020-01-09 2020-01-09 数据迁移及信息确定方法、数据处理系统、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010021782.2A CN111258755A (zh) 2020-01-09 2020-01-09 数据迁移及信息确定方法、数据处理系统、电子设备

Publications (1)

Publication Number Publication Date
CN111258755A true CN111258755A (zh) 2020-06-09

Family

ID=70950312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010021782.2A Pending CN111258755A (zh) 2020-01-09 2020-01-09 数据迁移及信息确定方法、数据处理系统、电子设备

Country Status (1)

Country Link
CN (1) CN111258755A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051250A (zh) * 2021-03-24 2021-06-29 北京金山云网络技术有限公司 数据库集群的扩容方法和装置、电子设备和存储介质
CN117742604A (zh) * 2023-12-20 2024-03-22 北京火山引擎科技有限公司 数据存储控制方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082692A (zh) * 2011-01-24 2011-06-01 华为技术有限公司 基于网络数据流向的虚拟机迁移方法、设备和集群系统
CN107220263A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 数据迁移的优化方法、评估方法及处理方法及装置
CN110389838A (zh) * 2019-07-24 2019-10-29 北京邮电大学 一种适用于虚拟资源的实时调度和在线迁移管控方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082692A (zh) * 2011-01-24 2011-06-01 华为技术有限公司 基于网络数据流向的虚拟机迁移方法、设备和集群系统
CN107220263A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 数据迁移的优化方法、评估方法及处理方法及装置
CN110389838A (zh) * 2019-07-24 2019-10-29 北京邮电大学 一种适用于虚拟资源的实时调度和在线迁移管控方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051250A (zh) * 2021-03-24 2021-06-29 北京金山云网络技术有限公司 数据库集群的扩容方法和装置、电子设备和存储介质
CN117742604A (zh) * 2023-12-20 2024-03-22 北京火山引擎科技有限公司 数据存储控制方法及设备

Similar Documents

Publication Publication Date Title
US20190121672A1 (en) Automated capacity provisioning method using historical performance data
CN1956457B (zh) 用于安排网格计算系统中的网格作业的方法和设备
US20200057675A1 (en) Workflow optimization
EP3674892B1 (en) Power saving through automated power scheduling of virtual machines
CN102301370A (zh) 用于集成容量规划和工作负荷管理的系统和方法
Sniezynski et al. VM reservation plan adaptation using machine learning in cloud computing
CN106326000A (zh) 一种云计算系统中的资源调度方法及装置
US10054997B2 (en) Multivariable control for power-latency management to support optimization of data centers or other systems
CN111258755A (zh) 数据迁移及信息确定方法、数据处理系统、电子设备
TWI673934B (zh) 蓄電池運用裝置及蓄電池運用方法
CN103699443A (zh) 任务分发方法及扫描器
Samadi et al. DT-MG: Many-to-one matching game for tasks scheduling towards resources optimization in cloud computing
Xiao et al. Dscaler: A horizontal autoscaler of microservice based on deep reinforcement learning
KR102135209B1 (ko) 가상 머신 배치 모의 실험 방법 및 이를 구현하는 가상 머신 배치 모의 실험 장치
Iglesias et al. Increasing task consolidation efficiency by using more accurate resource estimations
CN110267717B (zh) 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置
Talia et al. The grid backfilling: a multi-site scheduling architecture with data mining prediction techniques
CN114598652A (zh) 一种流量调控方法、装置、设备及可读存储介质
Toporkov et al. Optimization of resources allocation in high performance computing under utilization uncertainty
US20230043033A1 (en) User profile based on battery measurement
Wu et al. Hotspot resolution in cloud computing: A Γ-robust knapsack approach for virtual machine migration
KR20140073451A (ko) 마이크로그리드 물순환 설계 시뮬레이션을 이용한 가용수 관리 시스템 및 관리 방법
JP7199218B2 (ja) 管理装置、管理方法及び管理プログラム
de Mello et al. Grid job scheduling using Route with Genetic Algorithm support
Akash et al. An event-driven and lightweight proactive auto-scaling architecture for cloud applications

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200609