CN115509733A - 数据迁移方法、装置、计算机设备和存储介质 - Google Patents
数据迁移方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115509733A CN115509733A CN202110700745.9A CN202110700745A CN115509733A CN 115509733 A CN115509733 A CN 115509733A CN 202110700745 A CN202110700745 A CN 202110700745A CN 115509733 A CN115509733 A CN 115509733A
- Authority
- CN
- China
- Prior art keywords
- migration
- cluster
- resource utilization
- target
- candidate
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据迁移方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术以及云计算的发展,出现了云存储技术。云存储中的存储设备往往数量较多且分布于不同地域,云存储中的存储设备可以形成一个集群,对外提供云存储服务,用户可以通过网络存储单元例如云盘获取存储服务。云盘是一种互联网存储工具,是互联网云技术的产物,云盘通过互联网提供信息的存储、读取以及下载等服务。
目前,由于一个集群中云盘的数量较多,因此需要对各个云盘进行合理的迁移,例如将一个集群中的云盘迁移至另一个集群中,从而使得云存储系统能够正常的工作。
然而,目前的对云存储中的网络存储单元进行迁移的方法,往往是当一个存储集群中的云盘超出集群的负载能力时再进行迁移,导致数据迁移的效果差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据迁移效果的数据迁移方法、装置、计算机设备和存储介质。
一种数据迁移方法,所述方法包括:确定目标集群集合,以及所述目标集群集合中各个目标集群分别对应的网络存储单元集合;获取所述目标集群集合所对应的候选迁移策略;所述候选迁移策略是对所述目标集群对应的网络存储单元进行迁移的策略;基于所述候选迁移策略确定所述目标集群集合对应的迁移后的迁移集群集合;获取所述迁移集群集合对应的第一资源利用差异度,所述第一资源利用差异度表示所述迁移集群集合中的集群利用存储资源的差异度;获取所述迁移集群集合所对应的第二资源利用差异度,所述第二资源利用差异度表示所述迁移集群集合在不同时间段利用存储资源的差异度;基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,得到目标迁移策略;基于所述目标迁移策略对所述目标集群集合中的网络存储单元进行迁移。
一种数据迁移装置,所述装置包括:目标集群集合确定模块,用于确定目标集群集合,以及所述目标集群集合中各个目标集群分别对应的网络存储单元集合;候选迁移策略获取模块,用于获取所述目标集群集合所对应的候选迁移策略;所述候选迁移策略是对所述目标集群对应的网络存储单元进行迁移的策略;迁移集群集合确定模块,用于基于所述候选迁移策略确定所述目标集群集合对应的迁移后的迁移集群集合;第一资源利用差异度获取模块,用于获取所述迁移集群集合对应的第一资源利用差异度,所述第一资源利用差异度表示所述迁移集群集合中的集群利用存储资源的差异度;第二资源利用差异度获取模块,用于获取所述迁移集群集合所对应的第二资源利用差异度,所述第二资源利用差异度表示所述迁移集群集合在不同时间段利用存储资源的差异度;目标迁移策略得到模块,用于基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,得到目标迁移策略;迁移模块,用于基于所述目标迁移策略对所述目标集群集合中的网络存储单元进行迁移。
在一些实施例中,所述候选迁移策略获取模块包括:单元利用度特征得到单元,用于获取所述目标集群中各个网络存储单元所对应的单元资源利用度,根据所述单元资源利用度得到所述网络存储单元所对应的单元利用度特征;集群利用度特征得到单元,用于获取所述目标集群所对应的集群资源利用度,根据所述集群资源利用度得到所述目标集群所对应的集群利用度特征;特征相似度获取单元,用于获取所述单元利用度特征与所述集群利用度特征之间的特征相似度;候选存储单元集合得到单元,用于基于所述特征相似度从所述目标集群所对应的网络存储单元集合中,过滤出与所述目标集群相似的网络存储单元,得到候选迁移存储单元,组成候选存储单元集合;待迁移存储单元得到单元,用于从各个所述目标集群分别对应的候选存储单元集合中,筛选得到所述候选迁移策略对应的待迁移存储单元。
在一些实施例中,所述集群利用度特征包括第一利用度特征,所述集群利用度特征得到单元,还用于确定资源利用维度集合,所述资源利用维度集合包括多个资源利用维度;获取所述目标集群在各个所述资源利用维度所对应的集群资源利用度;对同一资源利用维度的所述集群资源利用度进行统计运算,得到所述资源利用维度分别对应的利用度统计值,确定各个所述利用度统计值分别对应的特征值;将所述资源利用维度集合中各个所述资源利用维度分别对应的特征值进行拼接,得到所述目标集群对应的第一利用度特征。
在一些实施例中,所述集群利用度特征包括第二利用度特征,所述集群利用度特征得到单元,还用于根据所述目标集群在多个时间段中所对应的资源利用度,得到所述时间段对应的时间段特征值;按照时间先后顺序,对各个所述时间段对应的时间段特征值进行排列,得到所述目标集群所对应的第二利用度特征。
在一些实施例中,所述第一资源利用差异度获取模块包括:时间段资源利用度得到单元,用于获取所述迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;第二统计资源利用度得到单元,用于对所述迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;第一统计资源利用度得到单元,用于对所述迁移集群集合中各个所述迁移集群所对应的第二统计资源利用度进行统计,得到第一统计资源利用度;第一资源利用差异度得到单元,用于基于各个所述第二统计资源利用度与所述第一统计资源利用度之间的第一利用度差异,得到所述迁移集群集合对应的所述第一资源利用差异度,所述第一利用度差异与所述第一资源利用差异度成正相关关系。
在一些实施例中,所述第二资源利用差异度获取模块包括:时间段资源利用度得到单元,用于获取所述迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;第二统计资源利用度得到单元,用于对所述迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;集群资源利用差异度得到单元,用于基于各个所述时间段资源利用度与所述第二统计资源利用度之间的第二利用度差异,得到所述迁移集群对应的集群资源利用差异度,所述集群资源利用差异度与所述第二利用度差异成正相关关系;第二资源利用差异度得到单元,用于对所述迁移集群集合中各个所述迁移集群对应的所述集群资源利用差异度进行统计,得到所述迁移集群集合所对应的所述第二资源利用差异度。
在一些实施例中,所述候选迁移策略为多个,所述目标迁移策略得到模块包括:策略排序得到单元,用于基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,对多个所述候选迁移策略进行排序,得到各个所述候选迁移策略所对应的策略排序;其中,排序在前的候选迁移策略所对应的资源利用差异度小于等于排序在后的候选迁移策略所对应的资源利用差异度;选取迁移策略得到单元,用于从多个所述候选迁移策略中选取所述策略排序在排序阈值之前的所述候选迁移策略,作为选取迁移策略;更新后的候选迁移策略得到单元,用于基于所述选取迁移策略进行策略更新,得到更新后的候选迁移策略;第一目标迁移策略得到单元,用于返回所述基于所述候选迁移策略确定所述目标集群集合对应的迁移后的迁移集群集合的步骤,直至满足迁移收敛条件,从满足迁移收敛条件的候选迁移策略中获取所述目标迁移策略。
在一些实施例中,所述选取迁移策略包括第一迁移策略以及第二迁移策略,所述更新后的候选迁移策略得到单元,还用于将所述第一迁移策略中的第一网络存储单元所对应的待迁移至的第一目标集群,与所述第二迁移策略中的第二网络存储单元所对应的待迁移至的第二目标集群进行交换,得到更新后的第一迁移策略以及更新后的第二迁移策略;基于更新后的第一迁移策略以及更新后的第二迁移策略得到更新后的候选迁移策略。
在一些实施例中,所述候选迁移策略获取模块包括:第一待更新的迁移策略得到单元,用于获取随机生成的随机迁移策略,作为待更新的迁移策略;更新后的迁移策略得到单元,用于对待更新的迁移策略对应的待迁移存储单元或者所述待迁移存储单元对应的待迁移至的集群中的至少一个进行更新,得到更新后的迁移策略;接受概率得到单元,用于计算更新后的迁移策略所对应的迁移代价,基于所述迁移代价得到所述更新后的迁移策略的接受概率,所述接受概率与所述迁移代价成负相关关系;第二待更新的迁移策略得到单元,用于基于所述接受概率从待更新的迁移策略以及更新后的迁移策略中选取得到下一轮策略更新对应的待更新的迁移策略;返回单元,用于返回对待更新的迁移策略中的待迁移存储单元或者所述待迁移存储单元对应的待迁移至的集群的至少一个进行更新,得到更新后的迁移策略的步骤,直到满足更新次数;初始的候选迁移策略得到单元,用于从每轮策略更新所得到的更新后的迁移策略中选取得到满足迁移代价条件的迁移策略,作为初始的候选迁移策略。
在一些实施例中,所述目标迁移策略得到模块包括:待迁移数据量得到单元,用于获取所述候选迁移策略所对应的各个待迁移存储单元分别对应的待迁移数据量;目标迁移数据量得到单元,用于对各个所述待迁移数据量进行加和运算,得到所述候选迁移策略所对应的目标迁移数据量;第二目标迁移策略得到单元,用于基于各个所述候选迁移策略对应的所述第一资源利用差异度、所述第二资源利用差异度以及所述目标迁移数据量,得到所述目标迁移策略。
在一些实施例中,所述迁移模块包括:集群获取单元,用于从所述目标迁移策略中获取待迁移存储单元对应的当前集群以及待迁移至的集群;迁移单元,用于将所述待迁移存储单元所对应的存储数据从所述当前集群中迁移至所述待迁移至的集群中,并建立所述待迁移至的集群与所述待迁移存储单元之间的对应关系,以在接收到所述待迁移存储单元所对应的数据获取请求时,根据所述对应关系,利用所述待迁移至的集群响应所述数据获取请求。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据迁移的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据迁移的步骤。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
上述数据迁移方法、装置、计算机设备和存储介质,确定目标集群集合,以及目标集群集合中各个目标集群分别对应的网络存储单元集合,获取目标集群集合所对应的候选迁移策略,候选迁移策略是对目标集群对应的网络存储单元进行迁移的策略,基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合,获取迁移集群集合对应的第一资源利用差异度,获取迁移集群集合所对应的第二资源利用差异度,基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,得到目标迁移策略,基于目标迁移策略对目标集群集合中的网络存储单元进行迁移,由于第一资源利用差异度表示迁移集群集合中的集群利用存储资源的差异度,故第一资源利用差异度越小,则各个集群利用存储资源的差异度越小,从而集群集合在空间上具有较好的均衡度,并且由于第二资源利用差异度表示迁移集群集合在不同时间段利用存储资源的差异度,故第二资源利用差异度越小,则迁移集群集合作为一个整体,在不同时间段利用存储资源的差异度越小,从而集群集合在时间上具有较好的均衡度,因此可以根据第一资源利用差异度以及第二资源利用差异度,综合考虑集群集合在空间上以及时间上的资源利用度得到迁移策略,提高了数据迁移的效果。
附图说明
图1为一些实施例中数据迁移方法的应用环境图;
图2为一些实施例中数据迁移方法的流程示意图;
图3为一些实施例中云块存储系统的架构图;
图4为一些实施例中云盘调度系统的架构图;
图5为一些实施例中云盘迁移策略模块的架构图;
图6为一些实施例中数据迁移步骤的流程示意图;
图7为一些实施例中数据迁移步骤的流程示意图;
图8为一些实施例中数据迁移方法的原理图;
图9为一些实施例中数据迁移装置的结构框图;
图10为一些实施例中计算机设备的内部结构图;
图11为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据迁移方法,可以应用于如图1所示的应用环境中。该应用环境包括终端102、第一集群104、第二集群106以及调度服务器108。其中,终端102通过网络与第一集群104以及第二集群106进行通信,调度服务器108可以与第一集群104以及第二集群106进行通信,在本申请中,一个集群可以包括一个或多个服务器,多个是指至少两个,例如第一集群104中包括3个服务器,分别是A服务器、B服务器以及C服务器,第二集群106中包括3个服务器,分别是D服务器、E服务器以及F服务器。
第一集群104以及第二集群106可以对应有多个云盘,每个云盘在集群中可以对应有一块存储空间,一个云盘对应一个集群,一个集群可以对应多个云盘。当向云盘中存储数据时,数据会存储到云盘对应的存储空间中。终端102可以访问云盘,例如终端102可以通过网页访问云盘,也可以安装有可以访问云盘的客户端,通过该客户端访问云盘。用户可以向云盘中存储数据,也可以从云盘中下载数据,还可以删除云盘中的数据,需要注意的是,云盘中存储的数据实质上是存储在服务器或集群中的,当从云盘中获取数据时,客户端可以访问云盘对应的集群,从集群中获取对应的数据。调度服务器108用于对云盘进行迁移,可以将云盘从一个集群迁移到另外一个集群中。对云盘进行迁移是指将云盘中的数据由一个集群迁移到另一个集群中。
具体地,调度服务器108可以确定目标集群集合,目标集群集合中包括多个集群,例如可以包括图1中的第一集群104以及第二集群106,以及目标集群集合中各个目标集群分别对应的网络存储单元集合,网络存储单元例如可以是云盘,获取目标集群集合所对应的候选迁移策略,候选迁移策略是对目标集群对应的网络存储单元进行迁移的策略,基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合,获取迁移集群集合对应的第一资源利用差异度,第一资源利用差异度表示迁移集群集合中的集群利用存储资源的差异度,获取迁移集群集合所对应的第二资源利用差异度,第二资源利用差异度表示迁移集群集合在不同时间段利用存储资源的差异度,基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,得到目标迁移策略,基于目标迁移策略对目标集群集合中的网络存储单元进行迁移,例如调度服务器108可以从目标迁移策略中获取待迁移存储单元对应的当前集群以及待迁移至的集群,将待迁移存储单元所对应的存储数据从当前集群中迁移至待迁移至的集群中,并建立待迁移至的集群与待迁移存储单元之间的对应关系,例如当当前集群为第一集群104,待迁移至的集群为第二集群106时,待迁移存储单元为云盘1时,可以将云盘1对应的数据从第一集群104迁移到第二集群106中,并建立云盘1与第二集群106的对应关系,当终端102发送针对云盘1的数据获取请求时,第二集群106可以响应于该数据获取请求,将所请求的数据发送至终端102。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,调度服务器108可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
云社交(Cloud Social)是一种物联网、云计算和移动互联网交互应用的虚拟社交应用模式,以建立著名的“资源分享关系图谱”为目的,进而开展网络社交,云社交的主要特征,就是把大量的社会资源统一整合和评测,构成一个资源有效池向用户按需提供服务。参与分享的用户越多,能够创造的利用价值就越大。
所谓人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
在一些实施例中,如图2所示,提供了一种数据迁移方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行,本申请实施例中,以该方法应用于图1中的调度服务器108为例进行说明,包括以下步骤:
S202,确定目标集群集合,以及目标集群集合中各个目标集群分别对应的网络存储单元集合。
其中,集群可以是独立的计算机,例如可以是独立的服务器,集群也可以是一组相互独立的、通过网络互联的计算机,例如可以是相互独立的、通过网络互联的服务器。集群中的各个计算机作为一个整体提供服务。集群是分布式的块存储资源池,集群之间在物理上是隔离的。
目标集群集合中包括多个目标集群,目标集群集合中包括的目标集群可以是处于同一调度域的集群,一个调度域由同一地理区域的同类型的集群组成。
网络存储单元是指可以通过网络进行存储的单元,网络存储单元是相对于实体存储单元而言的,实体存储单元例如是一个实体磁盘。而在云存储集群中,可以为用户分配一定的存储空间,用户可以通过网络获取存储在存储集群的内容,该存储空间可以认为是用户所对应的网络上的磁盘,例如网络存储单元可以是云盘。通过网络可以将数据存储至网络存储单元中,并且可以通过网络从网络存储单元中读取以及下载数据。
网络存储单元集合中包括多个网络存储单元。一个网络存储单元对应一个集群,一个集群可以对应多个网络存储单元。目标集群对应的网络存储单元是指数据存储在目标集群中的网络存储单元。
具体地,目标集群集合可以是调度服务器周期性获取的,例如调度服务器可以周期性对其所服务的系统进行数据迁移,在每次进行数据迁移前,获取系统中的处于同一调度域的集群,组成目标集群集合。其中,调度服务器所服务的系统例如可以图1中的第一集群以及第二集群组成的系统。
在一些实施例中,目标集群集合还可以是调度服务器响应于数据迁移指令获取的。数据迁移指令用于指示对网络存储单元对应的数据进行迁移。例如,当调度服务器接收到数据迁移指令时,调度服务器可以响应于该数据迁移指令,数据迁移指令中可以携带调度域标识,获取调度域标识对应的调度域中的各个集群,组成目标集群集合。
在一些实施例中,目标集群集合中的各个目标集群可以为云块存储系统中的处于同一调度域中的存储集群,调度服务器可以是云块存储系统中的云盘调度系统所在的服务器。如图3所示,为一些实施例中的云块存储系统的架构图,云块存储系统中包括应用(Applications)、云磁盘(Cloud disks)、网络(Networks)、存储集群(Storage Clusters)以及云盘调度系统(Cloud Disk Scheduling System)。应用例如可以包括大数据(BigData)应用或社交网络(Social Networking)应用。云块存储(Cloud Block Storage,CBS)为租户提供高效可靠的块级存储服务。应用就像访问本地块设备一样访问云磁盘。来自云磁盘的I/O(Input/Output,输入/输出)请求通过使用iSCSI(Internet Small ComputerSystem Interface,小型计算机系统接口)协议或其他网络协议,通过网络重定向到特定集群。集群(Cluster)是分布式的块存储资源池,集群之间在物理上是隔离的。为了控制故障域,云盘的I/O请求应该只重定向到一个集群。云盘可以在处于同一调度域(Schedulingdomain)的集群之间迁移,一个调度域由同一地理区域的同类型集群组成。云盘调度系统负责云盘的迁移,管理集群的存储容量等资源的使用情况。
如图4所示,为一些实施例中的云盘调度系统的架构图,云盘调度系统由日志收集模块(Trace Collection Module)、云盘迁移策略模块(Cloud Disk Migration Policy)和执行模块(Execution Module)组成。日志收集模块每5分钟收集一次云盘和集群的历史存储容量使用情况、带宽和IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)信息,用于对CBS的监控。迁移策略模块是调度系统的核心模块,对云盘的迁移进行决策和指导。执行模块由多个迁移任务队列(Migration Task Queue)组成。该模块从每个队列中选择任务(Task),在并发限制下执行任务,在集群间进行数据的调度。
如图5所示,为一些实施例中的云盘迁移策略模块的架构图,迁移策略模块需要对工作负载进行建模,配置优化目标,选择优化算法,安排迁移任务的执行。具体来说,目标配置是确定需要优化的目标,如集群之间的负载均衡程度、迁移流量等。优化算法配置决定了迁移策略的效果和性能。常用的优化算法可以包括贪婪算法或遗传算法等。
本申请提供的数据迁移方法可以作为一种云盘迁移策略,应用于云块存储系统的云盘迁移调度中,可以应用到云盘调度系统中,部署于云盘迁移策略模块中,可用于指导云盘调度系统执行合理的、高效的云盘迁移。
S204,获取目标集群集合所对应的候选迁移策略;候选迁移策略是对集群对应的网络存储单元进行迁移的策略。
其中,迁移策略是指对集群对应的网络存储单元的数据进行迁移的策略。迁移策略中可以包括网络存储单元、网络存储单元对应的当前集群或网络存储单元对应的目的集群中的至少一个,当前集群是指当前时间存储网络存储单元中的数据的集群,目的集群是指待迁移至的集群。迁移策略中的目的集群可以与当前集群相同,也可以不同。迁移策略中可以包括多个网络存储单元,每个网络存储单元对应有待迁移至的集群以及当前集群。候选迁移策略是指有待优化或筛选的迁移策略,可以多个。迁移策略中包括的网络存储单元可以称为待迁移存储单元。候选迁移策略可以包括初始的候选迁移策略以及非初始的候选迁移策略,非初始的候选迁移策略可以是根据初始的候选迁移策略进行更新所得到的迁移策略。在迁移时,可以是将一个网络存储单元中的数据作为一个整体进行迁移的。
具体地,候选迁移策略中包括的网络存储单元,可以是从网络存储单元集合中筛选得到的。例如调度服务器可以从目标集群对应的网络存储单元集合中,获取与该目标集群的负载特征相似的网络存储单元,作为候选迁移策略中的网络存储单元。例如,调度服务器可以获取目标集群的负载特征,作为集群负载特征,获取该目标集群对应的网络存储单元集合中包括的各个网络存储单元分别对应的负载特征,作为各个网络存储单元分别对应的单元负载特征,计算集群负载特征与单元负载特征之间的负载特征相似度,将负载特征相似度大于负载相似度阈值的各个网络存储单元作为待迁移存储单元。其中,负载特征相似度是指集群负载特征与单元负载特征之间的相似度。负载相似度阈值可以是预设的,也可以根据需要设置。
在一些实施例中,负载特征可以通过资源利用度反映,资源利用度是指对资源的利用程度,资源利用度越大,则对资源的利用程度越大。存储资源是指集群提供的计算机资源,例如可以包括存储容量、读带宽或写带宽中的至少一个。资源利用度已使用的资源大小与总的资源大小的比值,例如当存储资源为存储容量,已使用的存储容量为100G,总的存储容量为200G,则资源利用度为100G/200G=50%。调度服务器可以根据集群的资源利用度计算得到集群负载特征,可以根据网络存储单元的资源利用度进行负载特征,例如调度服务器可以根据集群的资源利用度计算得到集群利用度特征,根据集群利用度特征得到集群负载特征。
S206,基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合。
其中,迁移集群集合是基于候选迁移策略模拟数据迁移的过程所生成的迁移集群集合,得到迁移集群集合的过程并不存在实质性的数据迁移,即调度服务器并没有执行从目标集群中将网络存储单元对应的数据迁移出去的任务。
具体地,调度服务器可以从候选迁移策略中获取待迁移存储单元、待迁移存储单元对应的当前集群以及待迁移存储单元对应的待迁移至的集群,获取待迁移存储单元对应的单元使用资源大小,根据单元使用资源大小以及当前集群对应的第一使用资源大小生成迁出使用资源大小,根据单元使用资源大小以及待迁移至的集群对应的第二使用资源大小生成迁入使用资源大小,将当前集群对应的使用资源大小由第一使用资源大小更新为迁出使用资源大小,将更新后的当前集群作为迁移集群,将待迁移至的集群对应的使用资源大小由第二使用资源大小更新为迁入使用资源大小,将更新后的待迁移至的集群作为迁移集群,将各个迁移集群组成迁移集群集合。
其中,使用资源大小是指使用的资源的大小。单元使用资源大小是网络存储单元对应的使用资源大小,第一使用资源大小是当前集群对应的使用资源大小。第二使用资源大小是待迁移至的集群对应的使用资源大小。单元使用资源大小可以包括使用空间大小、使用读带宽大小或使用写带宽大小中的至少一个。使用空间大小是指待迁移存储单元中存储的数据在当前集群中所使用的存储空间的大小。使用读带宽大小是指待迁移存储单元在当前集群中所使用的读带宽的大小。使用写带宽大小是指待迁移存储单元在当前集群中所使用的写带宽的大小。第一使用资源大小可以包括当前集群中已使用的存储空间的大小、已使用的读带宽的大小或已使用的写带宽的大小中的至少一个。
在一些实施例中,调度服务器可以获取当前集群对应的单元使用资源大小,获取第一使用资源大小,从第一使用资源大小中减去单元使用资源大小,得到迁出使用资源大小,在第二使用资源大小的基础上加上单元使用资源大小,得到迁入使用资源大小。
S208,获取迁移集群集合对应的第一资源利用差异度,第一资源利用差异度表示迁移集群集合中的集群利用存储资源的差异度。
其中,第一资源利用差异度越小,则表示迁移集群集合中各个迁移集群的资源利用度之间的差异越小,即第一资源利用差异度越小,迁移集群集合中各个迁移集群的负载不均衡程度越小。
具体地,调度服务器可以获取迁移集群集合中各个迁移集群分别对应的第二统计资源利用度。其中,第二统计资源利用度是迁移集群在多个时间段中分别对应的资源利用度的统计值,例如可以是多个时间段中分别对应的资源利用度的平均值。调度服务器可以基于各个第二统计资源利用度得到迁移集群集合对应的第一资源利用差异度,例如可以对各个第二统计资源利用度进行标准差运算,将运算的结果作为第一资源利用差异度。标准差可以描述一组数据的不均衡度,标准差越小,则数据的不均衡度越小,从而第一资源利用差异度可以反映各个第二统计资源利用度的不均衡度。标准差的计算公式可以表示为公式(1)。
其中,X={Xi},i=1,2,…,m。
S210,获取迁移集群集合所对应的第二资源利用差异度,第二资源利用差异度表示迁移集群集合在不同时间段利用存储资源的差异度。
其中,第二资源利用差异度越小,则表示迁移集群集合作为一个整体在不停时间段中的资源利用度之间的差异越小,即第二资源利用差异度越小,迁移集群集合在时间上的负载不均衡程度越小。
具体地,调度服务器可以基于迁移集群在多个时间段中所对应的资源利用度,得到迁移集群集合对应的第二资源利用差异度,例如可以对该多个时间段中所对应的资源利用度进行标准差运算,将运算的结果作为第一资源利用差异度。
S212,基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,得到目标迁移策略。
其中,目标迁移策略是第一资源利用差异度较小或者第二资源利用差异度较小的迁移策略。
具体地,调度服务器可以从各个候选迁移策略中,获取第一资源利用差异度较小或者第二资源利用差异度较小的候选迁移策略,作为目标迁移策略。例如,调度服务器可以基于第一资源利用差异度对各个候选迁移策略进行排列,得到第一策略序列,第一资源利用差异度越小,候选迁移策略在第一策略序列中的排序越靠前,基于第二资源利用差异度对各个候选迁移策略进行排列,得到第二策略序列,第二资源利用差异度越小,候选迁移策略在第二策略序列中的排序越靠前,可以从第一策略序列中获取排序在第一排序阈值之前的各个候选迁移策略,作为第一序列策略,从第二策略序列中获取排序在第二排序阈值之前的各个候选迁移策略,作为第二序列策略,基于第一序列策略以及第二序列策略得到目标迁移策略,例如可以将第一序列策略以及第二序列策略中的任意一个策略作为目标迁移策略。第一排序阈值以及第二排序阈值可以是预设的或者根据需要设置的。
在一些实施例中,调度服务器可以将各个第一序列策略组成第一序列策略集合,将各个第二序列策略组成第二序列策略集合,获取存在于第一序列策略集合并且存在于第二序列策略的策略,组成综合策略集合,从综合策略集合中选取得到目标迁移策略,例如可以从综合策略集合中选取第一资源利用差异度较小并且第二资源利用差异度较小的策略,作为目标迁移策略。
在一些实施例中,调度服务器可以基于各个候选迁移策略对应的第一资源利用差异度以及第二资源利用差异度,从各个候选迁移策略中选取第一资源利用差异度较小并且第二资源利用差异度也较小的策略,作为选取迁移策略,对各个选取迁移策略进行更新,得到更新后的候选迁移策略,返回基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合的步骤,直至满足迁移收敛条件,从满足迁移收敛条件的候选迁移策略中获取目标迁移策略。
S214,基于目标迁移策略对目标集群集合中的网络存储单元进行迁移。
其中,对网络存储单元进行迁移是指对网络存储单元中存储的数据进行迁移。一个网络存储单元对应一个目标集群,网络存储单元对应目标集群中的一块存储空间,该存储空间中存储的数据是向网络存储单元中存储的数据,即向网络存储单元中存储数据是指将数据存储到网络存储单元在目标集群中对应的存储空间中。
具体地,调度服务器可以从目标迁移策略中获取待迁移存储单元对应的当前集群以及待迁移至的集群,将待迁移存储单元所对应的存储数据从当前集群中迁移至待迁移至的集群中,并建立待迁移至的集群与待迁移存储单元之间的对应关系,以在接收到待迁移存储单元所对应的数据获取请求时,根据对应关系,利用待迁移至的集群响应数据获取请求。
需要说明的是,步骤S214中的迁移是真正的迁移,并不是模拟数据迁移的过程。由于目标迁移策略可以是第一资源利用差异度较小并且第二资源利用差异度较小的迁移策略,即按照目标迁移策略对网络存储单元进行迁移,可以提高迁移后的每个集群在时间上的负载均衡度以及提高迁移后的各个集群之间的负载均衡度。
上述数据迁移方法中,确定目标集群集合,以及目标集群集合中各个目标集群分别对应的网络存储单元集合,获取目标集群集合所对应的候选迁移策略,候选迁移策略是对目标集群对应的网络存储单元进行迁移的策略,基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合,获取迁移集群集合对应的第一资源利用差异度,获取迁移集群集合所对应的第二资源利用差异度,基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,得到目标迁移策略,基于目标迁移策略对目标集群集合中的网络存储单元进行迁移,由于第一资源利用差异度表示迁移集群集合中的集群利用存储资源的差异度,故第一资源利用差异度越小,则各个集群利用存储资源的差异度越小,从而集群集合在空间上具有较好的均衡度,并且由于第二资源利用差异度表示迁移集群集合在不同时间段利用存储资源的差异度,故第二资源利用差异度越小,则迁移集群集合作为一个整体,在不同时间段利用存储资源的差异度越小,从而集群集合在时间上具有较好的均衡度,因此可以根据第一资源利用差异度以及第二资源利用差异度,综合考虑集群集合在空间上以及时间上的资源利用度得到迁移策略,提高了数据迁移的效果。
在一些实施例中,如图6所示,步骤S204即获取目标集群集合所对应的候选迁移策略包括:S602,获取目标集群中各个网络存储单元所对应的单元资源利用度,根据单元资源利用度得到网络存储单元所对应的单元利用度特征;S604,获取目标集群所对应的集群资源利用度,根据集群资源利用度得到目标集群所对应的集群利用度特征;S606,获取单元利用度特征与集群利用度特征之间的特征相似度;S608,基于特征相似度从目标集群所对应的网络存储单元集合中,过滤出与目标集群相似的网络存储单元,得到候选迁移存储单元,组成候选存储单元集合;S610,从各个目标集群分别对应的候选存储单元集合中,筛选得到候选迁移策略对应的待迁移存储单元。
其中,单元资源利用度是指网络存储单元对应的资源利用度。集群资源利用度是指集群对应的资源利用度。单元利用度特征用于反映网络存储单元的资源的利用情况,例如当网络存储单元为云盘时,单元利用度特征可以反映云盘的容量的利用情况,每个网络存储单元对应有自身的单元利用度特征。集群利用度特征用于反映目标集群的资源的利用情况,每个目标集群对应有自身的集群利用度特征,例如可以反映集群的带宽的利用情况。
特征相似度是指单元利用度特征与集群利用度特征之间的相似度。特征相似度可以反映网络存储单元的单元负载特征与目标集群的集群负载特征之间的相似度,特征相似度越大,则单元负载特征与集群负载特征之间的相似度越大。
候选迁移存储单元是指负载情况与目标集群的负载情况相似的网络存储单元,例如可以是资源利用度与目标集群的资源利用度相似的网络存储单元。候选迁移存储单元可以有多个,候选存储单元集合是由各个候选迁移存储单元组成的集合。
待迁移存储单元是指候选迁移策略中当前集群标识与待迁移至的集群的标识不同的网络存储单元。候选迁移策略中的待迁移存储单元可以是从候选存储单元集合中筛选得到的。
具体地,资源利用度可以是随着时间的变化而变化的,调度服务器可以获取多个时间段中网络存储单元的单元资源利用度,基于多个时间段中的单元资源利用度确定单元利用度特征。其中,每个时间段的时长可以是相同的,例如可以是5秒。
在一些实施例中,单元利用度特征可以包括第一单元利用度特征。调度服务器可以获取多个时间段分别对应的单元资源利用度,对各个单元资源利用度进行均值运算,得到平均单元资源利用度,基于平均单元资源利用度对应的特征值确定第一单元利用度特征,例如可以将平均单元资源利用度对应的特征值作为第一单元利用特征。当资源有多种时,单元资源利用度可以有多种,例如当存储资源包括读带宽、写带宽或存储容量中的至少一个时,单元资源利用度可以包括读带宽对应的单元读带宽利用度、写带宽对应的单元写带宽利用度以及存储容量对应的单元容量利用度中的至少一个。调度服务器可以对多个时间段中的单元读带宽利用度进行均值运算,得到平均单元读带宽利用度,对多个时间段中的单元写带宽利用度进行均值运算,得到平均单元写带宽利用度,确定平均单元读带宽利用度对应的特征值,作为单元读特征值,确定平均单元写带宽利用度对应的特征值,作为单元写特征值,确定单元容量利用度对应的特征值,作为单元容量特征值,基于单元写特征值、单元读特征值或单元容量特征值中的至少一种得到第一单元利用度特征,例如可以将单元写特征值、单元读特征值以及单元容量特征值中的任意一个作为第一单元利用度特征,也可以将单元写特征值、单元读特征值以及单元容量特征值进行组合,得到第一单元利用度特征,例如,当单元写特征值为A1,单元读特征值为A2,单元容量特征值A3时,第一单元利用度特征可以为(A1,A2,A3)。
在一些实施例中,单元利用度特征可以包括第二单元利用度特征。调度服务器可以确定各个单元资源利用度分别对应的特征值,按照时间先后顺序,对各个单元资源利用度对应的特征值进行排列,将排列得到的序列作为单元特征值序列,基于单元特征值序列得到第二单元利用度特征,例如可以将单元特征值序列作为第二单元利用度特征。其中,单元资源利用度对应的时间段越靠前,单元资源利用度对应的特征值在单元特征值序列中的排序越靠前,例如,时间段10点10分10秒至10点10分15秒对应的特征值排列在时间10点10分15秒至10点10分20秒之前。
在一些实施例中,当包括多种资源时,可以包括各种资源分别对应的单元特征值序列,可以将各种资源分别对应的单元特征值序列进行组合,将组合后的序列作为第二单元利用度特征。例如,当存储资源包括读带宽或写带宽中的至少一个时,单元资源利用度可以包括读带宽对应的单元读带宽利用度或写带宽对应的单元写带宽利用度中的至少一个。调度服务器可以按照时间先后顺序,对多个时间段的单元读带宽利用度对应的特征值进行排列,将排列得到的序列作为单元读特征值序列,按照时间先后顺序,对各个时间段对应的单元写带宽利用度对应的特征值进行排列,得到单元写特征值序列,将单元读特征值序列以及单元写特征值序列进行组合,将组合后的序列作为第二单元利用度特征。例如,假设单元读特征值序列为B1,单元写特征值序列为B2,则可以将(B1,B2)作为第二单元利用度特征。
在一些实施例中,调度服务器可以从网络存储单元集合中获取满足相似度筛选条件的网络存储单元,作为候选迁移存储单元。相似度筛选条件可以包括特征相似度大于相似度阈值或相似度排序在特定排序之前中的至少一个。其中,特定排序以及相似度阈值可以根据需要设置,也可以是预先设置的,例如可以根据目标集群对应的迁移单元数量阈值确定,迁移单元数量阈值是指目标集群中允许迁移的网络存储单元的最大数量,迁移单元数量阈值例如可以是10。相似度排序是指特征相似度在特征相似度序列中的排序,特征相似度序列是按照从小到大的顺序,对各个特征相似度进行排列所得到的序列。特征相似度越大,则在特征相似度序列中的排序越靠前。
在一些实施例中,集群利用度特征可以包括第一利用度特征以及第二利用度特征,得到第一利用度特征的方法与得到第一单元利用度特征的方法一致,得到第二利用度特征的方法与得到第二单元利用度特征的方法一致。特征相似度可以包括第一相似度以及第二相似度。具体地,调度服务器可以将第一单元利用度特征与第一利用度特征进行相似度运算,将运算的结果作为第一相似度,将第二单元利用度特征与第二利用度特征进行相似度运算,将运算的结果作为第二相似度,调度服务器可以基于第一相似度以及第二相似度,从目标集群对应的网络存储单元集合中过滤出与目标集群相似的网络存储单元,得到候选迁移存储单元。
例如,调度服务器可以基于第一相似度,对网络存储单元集合中的各个网络存储单元进行排列,得到第一单元序列,按照第二相似度,对网络存储单元集合中的各个网络存储单元进行排列,得到第二单元序列,其中,第一相似度越大,网络存储单元在第一单元序列中的排序越靠前,第二相似度越大,网络存储单元在第二单元序列中的排序越靠前。调度服务器可以按照从前到后的顺序,每次从第一单元序列以及第一单元序列中分别获取一个网络存储单元,当得到的两个网络存储单元不相同时,则将这两个网络存储单元作为候选迁移存储单元,当得到的两个存储单元相同时,将其中一个作为候选迁移存储单元,计算得到的候选迁移存储单元的数量,当得到的候选迁移存储单元的数量小于目标集群对应的迁移单元数量阈值时,重复从第一单元序列以及第一单元序列中分别获取一个网络存储单元的步骤,当获取的候选迁移存储单元的数量达到目标集群对应的迁移单元数量阈值时,则停止从单元序列中获取网络存储单元,将得到的各个候选迁移存储单元组成候选存储单元集合。其中,每次从第一单元序列中获取到的网络存储单元在第一单元序列中的排序各不相同,并且每次从第二单元序列中获取到的网络存储单元在第二单元序列中的排序各不相同。
在一些实施例中,调度服务器可以利用余弦相似度公式,对单元利用度特征与集群利用度特征进行相似度计算,将计算得到的余弦相似度作为特征相似度。特征相似度可以包括第一相似度以及第二相似度。公式(2)为一些实施例中的余弦相似度公式,第一相似度RMSim(RM1,RM2)可以表示为公式(3),第二相似度RMSim(AM1,AM2)公式(4)。其中,RM1表示第一单元利用度特征,AM1表示第二单元利用度特征,RM2表示第一利用度特征,AM2表示第二利用度特征。
RMSim(RM1,RM2)=cos(RM1,RM2) (3)
RMSim(AM1,AM2)=cos(AM1,AM2) (4)
在一些实施例中,调度服务器可以根据目标集群对应的各个网络存储单元分别对应的单元使用资源大小,得到集群资源利用度。单元使用资源大小是指网络存储单元在集群中所占用的资源的大小,例如,当存储资源为存储容量时,单元使用资源大小可以包括网络存储单元在集群中所占的存储空间的大小。具体地,调度服务器可以将各个单元使用资源大小进行加和运算,将加和运算的结果作为目标集群的集群已用资源大小,获取目标集群对应的集群总资源大小,计算集群已用资源大小与集群总资源大小的比值,将计算得到的比值作为集群资源利用度。其中,集群总资源大小是指集群提供的资源的大小,例如集群提供的存储容量的大小。
在一些实施例中,集群资源利用度可以包括集群容量利用度、集群读带宽利用度或集群写带宽利用度中的至少一个。集群容量利用度是指集群已用容量大小与集群总容量大小的比值,集群读带宽利用度是指集群已用读带宽大小与集群总读带宽大小的比值,集群写带宽利用度是指集群已用写带宽大小与集群总写带宽大小的比值。其中,集群已用读带宽大小可以为目标集群对应的各个网络存储单元占用的读带宽的大小之和。集群已用写带宽大小可以为目标集群对应的各个网络存储单元占用的写带宽的大小之和。
本实施例中,基于特征相似度从目标集群所对应的网络存储单元集合中,过滤出与目标集群相似的网络存储单元,得到候选迁移存储单元,组成候选存储单元集合,从而使得候选存储单元集合中的各个网络存储单元与目标集群相似的负载特征,从目标集群对应的候选存储单元集合中,筛选得到待迁移存储单元,从而可以使得待迁移存单元也与目标集群具有相似的负载特征,由于将负载特征与集群相似较高的网络存储单元从集群中迁移出去,相比于将负载特征与集群相似较低的网络存储单元从集群中迁移出去,可以更快的减小集群的负载,并且可以减少迁移次数,故从各个目标集群分别对应的候选存储单元集合中,筛选得到候选迁移策略对应的待迁移存储单元,提高了数据迁移的效果以及数据迁移效率。
在一些实施例中,集群利用度特征包括第一利用度特征,获取目标集群所对应的集群资源利用度,根据集群资源利用度得到目标集群所对应的集群利用度特征包括:确定资源利用维度集合,资源利用维度集合包括多个资源利用维度;获取目标集群在各个资源利用维度所对应的集群资源利用度;对同一资源利用维度的集群资源利用度进行统计运算,得到资源利用维度分别对应的利用度统计值,确定各个利用度统计值分别对应的特征值;将资源利用维度集合中各个资源利用维度分别对应的特征值进行拼接,得到目标集群对应的第一利用度特征。
其中,资源利用维度根据资源的种类确定,一种存储资源可以为一种资源利用维度,例如资源利用维度可以包括存储容量、读带宽或写带宽中的至少一个。
集群资源利用度可以包括集群容量利用度、集群读带宽利用度或集群写带宽利用度中的至少一个。集群容量利用度对应的资源利用维度为存储容量,集群读带宽利用度对应的资源利用维度为读带宽,集群写带宽利用度对应的资源利用维度为写带宽。
同一资源利用维度的集群资源利用度包括多个时间段中该资源利用维度对应的集群资源利用度,例如当资源利用维度为读带宽时,可以包括多个时间段分别对应的集群读带宽利用度。
拼接可以是按照顺序进行排列,顺序可以是预设的,也可以根据需要设置。资源利用维度对应的特征值是指该资源利用维度对应的利用度统计值所对应的特征值。
具体地,调度服务器可以对同一资源利用维度的各个集群资源利用度进行均值运算,将计算得到的均值作为资源利用维度对应的利用度统计值,可以对各个资源利用维度对应的利用度统计值进行归一化处理,得到各个利用度统计值分别对应的特征值,将各个利用度统计值分别对应的特征值进行排列,将排列得到的序列作为目标集群对应的第一利用度特征。
本实施例中,由于第一利用度特征是通过统计运算所得到的特征,因此第一利用度特征可以反映目标集群在空间上利用资源的情况。
在一些实施例中,集群利用度特征包括第二利用度特征,获取目标集群所对应的集群资源利用度,根据集群资源利用度得到目标集群所对应的集群利用度特征包括:根据目标集群在多个时间段中所对应的资源利用度,得到时间段对应的时间段特征值;按照时间先后顺序,对各个时间段对应的时间段特征值进行排列,得到目标集群所对应的第二利用度特征。
具体地,时间段特征值是指集群资源利用度对应的特征值。调度服务器可以按照时间先后顺序,对各个时间段的时间段特征进行排列,将排列所得到的序列作为目标集群对应的第二利用度特征。
本实施例中,根据目标集群在多个时间段中所对应的集群资源利用度,得到时间段对应的时间段特征值,按照时间先后顺序,对各个时间段对应的时间段特征值进行排列,得到目标集群所对应的第二利用度特征,从而第二利用度特征反映了目标集群对资源的利用度随着时间的变化情况,得到了目标集群在时间维度上的资源利用度变化情况。
在一些实施例中,获取迁移集群集合对应的第一资源利用差异度包括:获取所述迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;对所述迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;对迁移集群集合中各个迁移集群所对应的第二统计资源利用度进行统计,得到第一统计资源利用度;基于各个第二统计资源利用度与第一统计资源利用度之间的第一利用度差异,得到迁移集群集合对应的第一资源利用差异度,第一利用度差异与第一资源利用差异度成正相关关系。
其中,统计可以包括均值运算、众数运算或中位数运算中的至少一个。第一利用度差异是指第二统计资源利用度与第一统计资源利用度之间的差异。
第二统计资源利用度是迁移集群在多个时间段中分别对应的资源利用度的统计值,例如可以是多个时间段中分别对应的资源利用度的平均值。
其中,正相关关系指的是:在其他条件不变的情况下,两个变量变动方向相同,一个变量由大到小变化时,另一个变量也由大到小变化。可以理解的是,这里的正相关关系是指变化的方向是一致的,但并不是要求当一个变量有一点变化,另一个变量就必须也变化。例如,可以设置当变量a为10至20时,变量b为100,当变量a为20至30时,变量b为120。这样,a与b的变化方向都是当a变大时,b也变大。但在a为10至20的范围内时,b可以是没有变化的。
具体地,调度服务器对各个第二统计资源利用度进行均值运算,将均值运算的结果作为第一统计资源利用度。调度服务器可以对各个第一利用度差异进行统计运算,得到第一资源利用差异度,例如可以对各个第一利用度差异进行加和运算,将加和运算的结果作为第一资源利用差异度,或者对各个第一利用度差异进行均值运算,将加和运算的结果作为第一资源利用差异度。
在一些实施例中,调度服务器可以对第一利用度差异进行平方运算,得到第一平方差异,对各个第一平方差异进行统计运算,得到第一资源利用差异度,例如可以对各个第一平方差异进行加和运算,得到第一资源利用差异度,例如可以对各个第一平方差异进行均值运算,得到第一资源利用差异度,例如可以将各个第一平方差异的均值作为第一资源利用差异度,或者对各个第一平方差异的均值进行开方运算,将开方运算的结果作为第一资源利用差异度。
本实施例中,由于第一利用度差异与第一资源利用差异度成正相关关系,因此第一资源利用差异度可以反应第二统计资源利用度与第一统计资源利用度之间的差异的大小,第一资源利用差异度越小,则迁移集群集合中的迁移集群对应的资源利用度之间的差异度越小,则各个迁移集群的负载不均衡程度越小,从而可以根据第一资源利用差异度得到使得集群在空间上的负载不均衡程度较小的迁移策略,提高了集群在空间上的负载均衡度。
在一些实施例中,获取迁移集群集合所对应的第二资源利用差异度包括:获取迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;对迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;基于各个时间段资源利用度与第二统计资源利用度之间的第二利用度差异,得到迁移集群对应的集群资源利用差异度,集群资源利用差异度与第二利用度差异成正相关关系;对迁移集群集合中各个迁移集群对应的集群资源利用差异度进行统计,得到迁移集群集合所对应的第二资源利用差异度。
其中,时间段资源利用度是指迁移集群在一个时间段中的资源利用度,时间段的长度例如可以是5秒,多个时间段是指至少两个时间段。该多个时间段中的每个时间段中迁移集群的资源利用度分别为时间段资源利用度。第二利用度差异是指时间段资源利用度与第二统计资源利用度之间的差异。
具体地,调度服务器可以对迁移集群对应的多个时间段资源利用度进行统计运算,统计运算可以包括均值运算、众数运算或中位数运算中的至少一个,将统计运算的结果作为第二统计资源利用度,例如可以对各个时间段资源利用度进行均值运算,将计算得到的均值作为第二统计资源利用度。
在一些实施例中,调度服务器可以对各个第二利用度差异进行统计运算,得到迁移集群对应的集群资源利用差异度,例如,可以将各个第二利用度差异进行加和运算,将加和运算的结果作为集群资源利用差异度,或者可以对第二利用度差异进行平方运算,得到各个第二利用度差异分别对应的第二平方差异,对各个第二平方差异进行均值运算,得到集群资源利用差异度,例如可以将各个第二平方差异的均值作为集群资源利用差异度,或者对各个第二平方差异的均值进行开方运算,将开方运算的结果作为集群资源利用差异度。
在一些实施例中,资源利用度包括读带宽利用度以及写带宽利用度,集群资源利用差异度可以包括集群读带宽差异度以及集群写带宽差异度。具体地,调度服务器可以获取迁移集群在多个时间段中所对应的读带宽利用度以及写带宽利用度,对各个读带宽利用度进行标准差运算,将计算出的标准差作为集群读带宽差异度,对各个写带宽利用度进行标准差运算,将计算出的标准差作为集群写带宽差异度,将集群读带宽差异度与集群写带宽差异度进行加和运算,将运算的结果作为集群资源利用差异度。例如,多个时间段的读带宽利用度组成的集合可以表示为;=1,2,3,…,tmax,其中,RCi表示迁移集群集合中的第i个迁移集群在多个时间段的读带宽利用度组成的集合,表示迁移集群集合中的第i个迁移集群在t所代表的时间段中的读带宽利用度。多个时间段的读带宽利用度组成的集合可以表示为;t=1,2,…tmax,其中,WCi表示迁移集群集合中的第i个迁移集群在多个时间段的写带宽利用度组成的集合,表示迁移集群集合中的第i个迁移集群在t所代表的时间段中的写带宽利用度。集群读带宽差异度可以表示为STDEV(RCi),集群写带宽差异度可以表示为STDEV(WCi),其中STDEV(·)表示标准差计算公式。集群资源利用差异度可以表示为TBi=STDEV(WCi)+STDEV(RCi),其中,TBi表示迁移集群集合中第i个迁移集群对应的集群资源利用差异度。第二资源利用差异度可以表示为其中,Ti表示第二资源利用差异度,m为迁移集群集合中包括的迁移集群的数量。
在一些实施例中,调度服务器可以迁移集群集合中的各个迁移集群分别对应的集群资源利用差异度进行统计运算,例如可以对各个集群资源利用差异度进行均值运算,将均值运算的结果作为第二资源利用差异度,也可以对各个集群资源利用差异度进行众数运算或中位数运算中的任意一种运算,将运算的结果作为第二资源利用差异度。第二资源利用差异度可以与集群资源利用差异度成正相关关系。
本实施例中,由于第二利用度差异是时间段资源利用度与第二统计资源利用度,因此第二利用度差异反映了各个时间段资源利用度之间的差异,第二利用度差异越小,则各个时间段资源利用度之间的差异越小,则表示迁移集群在各个时间段中的资源利用度之间的差别越小,从而迁移集群在时间上的负载不均衡的越小,由于集群资源利用差异度与第二利用度差异成正相关关系,因此集群资源利用差异度越小,则迁移集群在时间上的负载不均衡的越小,由于第二资源利用差异度是对各个集群资源利用差异度进行统计得到的,因此第二资源利用差异度越小,则表示迁移集群集合作为一个整体在时间上的负载不均衡度越小,从而可以基于第二资源利用差异度得到使得集群在时间上负载不均衡程度较小的迁移策略,提高了集群在时间上的负载均衡度。
在一些实施例中,候选迁移策略为多个,基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,得到目标迁移策略包括:基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,对多个候选迁移策略进行排序,得到各个候选迁移策略所对应的策略排序;其中,排序在前的候选迁移策略所对应的资源利用差异度小于等于排序在后的候选迁移策略所对应的资源利用差异度;从多个候选迁移策略中选取策略排序在排序阈值之前的候选迁移策略,作为选取迁移策略;基于选取迁移策略进行策略更新,得到更新后的候选迁移策略;返回基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合的步骤,直至满足迁移收敛条件,从满足迁移收敛条件的候选迁移策略中获取目标迁移策略。
其中,策略排序是指候选迁移策略在候选迁移策略序列中的排序,候选迁移策略序列是基于第一资源利用差异度以及第二资源利用差异度对各个候选迁移策略进行排序所得到的序列。第一资源利用差异度越小,策略排序越靠前,第二资源利用差异度越小,策略排序越靠前。
步骤“基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度”中的候选迁移策略指的是非初始的候选迁移策略,第一轮中的非初始的候选迁移策略可以是根据初始的候选迁移策略生成的,例如可以对初始的候选迁移策略进行更新,得到更新的初始迁移策略,将更新的初始迁移策略以及初始的候选迁移策略组成第一轮中的非初始的候选迁移策略。
选取迁移策略是指候选迁移策略序列中排序在排序阈值之前的候选迁移策略。排序阈值可以根据需要设置,与可以是预设的,例如可以是根据选取迁移策略的数量确定的,可以预先设置选取迁移策略的数量,选取迁移策略的数量可以根据初始的候选迁移策略的数量确定,例如可以将初始的候选迁移策略的数量作为选取迁移策略的数量。可以根据初始的候选迁移策略的数量确定排序阈值,使得位于排序阈值之前的候选迁移策略的数量等于初始的候选迁移策略的数量。
迁移收敛条件可以包括返回的次数达到次数阈值,次数阈值可以预设的,例如可以是20次,也可以根据需要设置。
具体地,候选迁移策略可以包括第一候选策略以及第二候选策略,调度服务器可以获取第一候选策略对应的第一资源利用差异度,作为第一策略差异度,获取第一候选策略对应的第二资源利用差异度,作为第二策略差异度,获取第二候选策略对应的第一资源利用差异度,作为第三策略差异度,获取第二候选策略对应的第二资源利用差异度,作为第四策略差异度,将第一策略差异度与第三策略差异度进行对比,得到第一对比结果,将第二策略差异度与第四策略差异度进行对比,得到第二对比结果,基于第一对比结果以及第二对比结果确定第一候选策略与第二候选策略对应的策略排序。
在一些实施例中,当第一对比结果为第一策略差异度小于或者等于第三策略差异度,并且第二对比结果为第二策略差异度小于或者等于第四策略差异度时,确定第一候选策略的策略排序在第二候选策略的策略排序之前。
在一些实施例中,当第一对比结果为第一策略差异度小于或者等于第三策略差异度,以及第二对比结果为第二策略差异度小于或者等于第四策略差异度时,并且第一策略差异度小于第三策略差异度或者第二策略差异度小于第四策略差异度中的至少一个成立时,确定第一候选策略的策略排序在第二候选策略的策略排序之前。
在一些实施例中,调度服务器可以对各个选取迁移策略中的待迁移至的集群进行更新,得到更新后的候选迁移策略,例如,可以从目标集群集合中选取得到更新集群,利用更新集群对选取迁移策略中的待迁移至的集群进行更新,得到更新后的候选迁移策略。调度服务器还可以将各个选取迁移策略中的待迁移至的集群进行交换,将交换后的选取迁移策略作为更新后的候选迁移策略。
在一些实施例中,调度服务器可以对选取迁移策略进行策略更新,得到更新后的选取迁移策略,将更新后的选取迁移策略以及更新前的选取迁移策略,作为更新后的候选迁移策略,即更新后的候选迁移策略可以包括更新前的选取迁移策略以及更新后的选取迁移策略。
在一些实施例中,调度服务器还可以利用遗传算法中的选择、交叉或突变中的至少一种方法,对选取迁移策略进行策略更新,得到更新后的候选迁移策略。
在一些实施例中,调度服务器还可以从满足迁移收敛条件的候选迁移策略中,选取满足差异度条件的候选迁移策略,得到目标迁移策略,例如可以将满足差异度条件的候选迁移策略中的任意一种作为目标迁移策略,或者对满足差异度条件的候选迁移策略进行进一步的筛选,得到目标迁移策略。差异度条件可以包括第一资源利用差异度小于第一差异度阈值、第二资源利用差异度小于第二差异度阈值、第一差异度排序在第三排序阈值之前或第二差异度排序在第四排序阈值之前中的至少一个。第一差异度阈值以及第二差异度阈值可以是预先设置的,也可以根据需要设置。第一差异度排序是指第一资源利用差异度在第一资源利用差异度序列中的排序,第一资源利用差异度序列是按照从小到大的顺序,对各个第一资源利用差异度进行排列所得到的序列。第二差异度排序是指第二资源利用差异度在第二资源利用差异度序列中的排序。第二资源利用差异度序列是按照从小到大的顺序,对各个第二资源利用差异度进行排列所得到的序列。第三排序阈值以及第四排序阈值可以是预先设置的,也可以根据需要设置。
在一些实施例中,调度服务器可以对满足差异度条件的候选迁移策略进行进一步的筛选,得到目标迁移策略,例如可以从满足差异度条件的候选迁移策略中,获取第一资源利用差异度最小的迁移策略,作为目标迁移策略,或者获取第二资源利用差异度最小的迁移策略,作为目标迁移策略,或者获取迁移数据量最小的迁移策略,作为目标迁移策略。
在一些实施例中,调度服务器还可以按照第一资源利用差异度以及第二资源利用差异度,对满足迁移收敛条件的候选迁移策略进行排列,得到收敛迁移策略序列,从收敛迁移策略序列中获取目标迁移策略,例如可以将排列在第一位的迁移策略,作为目标迁移策略,或者将排列在特定位置的迁移策略作为目标迁移策略,例如可以将排列在第三位的迁移策略作为目标迁移策略。其中,第一资源利用差异度越小,候选迁移策略在收敛迁移策略序列中的排序越靠前,第二资源利用差异度越小,候选迁移策略在收敛迁移策略序列中的排序越靠前,例如对于收敛迁移策略序列中的第一收敛策略以及第二收敛策略,当第一收敛策略对应的第一资源利用差异度小于或者等于第二收敛策略对应的第一资源利用差异度,并且第一收敛策略对应的第二资源利用差异度小于或者等于第二收敛策略对应的第二资源利用差异度时,将第一收敛策略排列在第二收敛策略之前。
本实施例中,基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,对多个候选迁移策略进行排序,得到各个候选迁移策略分别对应的策略排序,从多个候选迁移策略中选取策略排序在排序阈值之前的候选迁移策略,作为选取迁移策略,从而可以将第一资源利用差异度较小并且第二资源利用差异度也较小的迁移策略,作为目标迁移策略,使得得到的迁移策略即能够提升集群在时间上的负载均衡度又可以提升集群在空间上的负载均衡。
在一些实施例中,选取迁移策略包括第一迁移策略以及第二迁移策略,基于选取迁移策略进行策略更新,得到更新后的候选迁移策略包括:将第一迁移策略中的第一网络存储单元所对应的待迁移至的第一目标集群,与第二迁移策略中的第二网络存储单元所对应的待迁移至的第二目标集群进行交换,得到更新后的第一迁移策略以及更新后的第二迁移策略;基于更新后的第一迁移策略以及更新后的第二迁移策略得到更新后的候选迁移策略。
其中,第一迁移策略与第二迁移策略不同,第一迁移策略可以是任一选取迁移策略,第二迁移策略可以是任一选取迁移策略。第一迁移策略中可以包括多个网络存储单元,第一网络存储单元可以是第一迁移策略包括的各个网络存储单元中的部分网络存储单元。第二网络存储单元可以是第二迁移策略包括的各个网络存储单元中的部分网络存储单元。第一目标集群是指第一网络存储单元对应的待迁移至的集群。第二目标集群是指第二网络存储单元对应的待迁移至的集群。
具体地,调度服务器可以将选取迁移策略、各个更新后的第一迁移策略以及各个更新后的第二迁移策略,作为更新后的候选迁移策略。
本实施例中,将第一迁移策略中的第一网络存储单元对应的待迁移至的第一目标集群,与第二迁移策略中的第二网络存储单元对应的待迁移至的第二目标集群进行交换,得到更新后的第一迁移策略以及更新后的第二迁移策略,基于更新后的第一迁移策略以及更新后的第二迁移策略得到更新后的候选迁移策略,从而基于选取迁移策略得到了更新后的候选迁移策略,提高了生成候选迁移策略的效率以及准确度。
在一些实施例中,获取目标集群集合所对应的候选迁移策略包括:获取随机生成的随机迁移策略,作为待更新的迁移策略;对待更新的迁移策略对应的待迁移存储单元或者待迁移存储单元对应的待迁移至的集群中的至少一个进行更新,得到更新后的迁移策略;计算更新后的迁移策略所对应的迁移代价,基于迁移代价得到更新后的迁移策略的接受概率,接受概率与迁移代价成负相关关系;基于接受概率从待更新的迁移策略以及更新后的迁移策略中选取得到下一轮策略更新对应的待更新的迁移策略;返回对待更新的迁移策略中的待迁移存储单元或者待迁移存储单元对应的待迁移至的集群的至少一个进行更新,得到更新后的迁移策略的步骤,直到满足更新次数;从每轮策略更新所得到的更新后的迁移策略中选取得到满足迁移代价条件的迁移策略,作为初始的候选迁移策略。
其中,随机迁移策略中的各个网络存储单元对应的待迁移至的集群可以是从目标集群集合中随机选取的。随机迁移策略中的各个网络存储单元可以是从各个目标集群分别对应的网络存单元集合中筛选得到的,例如可以将目标集群对应的候选存储单元集合中的网络存储单元作为随机迁移策略中的网络存储单元。迁移代价是指对网络存储单元进行迁移所需要付出的代价,可以包括迁移的数据量或迁移后集群的负载均衡度等。
接受概率为从待更新的迁移策略以及更新后的迁移策略中,选的得到更新后的迁移策略的概率。更新次数可以是预先设置的,例如可以是30次,也可以根据需要设置。更新次数是指重复“对待更新的迁移策略中的待迁移存储单元或者待迁移存单元对应的待迁移至的集群中的至少一个进行更新,得到更新后的迁移策略”的步骤的次数。迁移代价条件可以包括迁移代价小于代价阈值,代价阈值可以根据需要设置或者预先设置。
负相关关系指的是:在其他条件不变的情况下,两个变量变动方向相反,一个变量由大到小变化时,另一个变量由小到大变化。可以理解的是,这里的负相关关系是指变化的方向是相反的,但并不是要求当一个变量有一点变化,另一个变量就必须也变化。
具体地,调度服务器可以对待更新的迁移策略对应的待迁移至的集群进行更新,例如可以从目标集群集合中随机选取一个集群,利用选取的集群对待迁移至的集群进行更新,得到更新后的迁移策略。调度服务器可以对待更新的迁移策略进行扰动,将扰动后的迁移策略作为更新后的迁移策略。
在一些实施例中,调度服务器可以获取更新后的迁移策略所对应的迁移代价,作为更新后迁移代价,获取待更新的迁移策略所对应的迁移代价,作为待更新迁移代价,将更新后迁移代价与待更新迁移代价进行对比,当确定更新后迁移代价小于待更新迁移代价时,则将第一概率作为更新后的迁移策略的接受概率当确定更新后迁移代价大于待更新迁移代价时,则将第二概率作为更新后的迁移策略的接受概率。第一概率大于第二概率,第一概率例如可以是1。第二概率为一个较小的概率,例如可以为0.1。
在一些实施例中,当接受概率为第一概率时,调度服务器将更新后的迁移策略作为下一轮策略更新对应的待更新的迁移策略,当接受概率为第二概率时,调度服务器将更新后的迁移策略作为下一轮策略更新对应的待更新的迁移策略的可能性,小于将待更新的迁移策略作为下一轮策略更新对应的待更新的迁移策略的可能性。
在一些实施例中,迁移代价为第一类代价。调度服务器可以基于待更新的迁移策略确定目标集群集合对应的迁移后的迁移集群集合,作为第一集群集合,基于更新后的迁移策略确定目标集群集合所对应的迁移后的迁移集群集合,作为第二集群集合。调度服务器可以获取第一集群集合对应的第一资源利用差异度,作为待更新的迁移策略对应的第一类代价,获取第二集群集合对应的第一资源利用差异度,作为更新后的迁移策略对应的第一类代价。将待更新的迁移策略对应的第一类代价与更新后的迁移策略对应的第一类代价进行对比,基于对比结果确定更新后的迁移策略所对应的接受概率。调度服务器可以从每轮策略更新所得到的更新后的迁移策略中选取得到满足迁移代价条件的迁移策略,作为第一代价策略,将第一代价策略作为初始的候选迁移策略。
在一些实施例中,迁移代价为第二代价。调度服务器可以获取第一集群集合对应的第二资源利用差异度,作为待更新的迁移策略对应的第二类代价,获取第二集群集合对应的第二资源利用差异度,作为更新后的迁移策略对应的第二类代价,将待更新的迁移策略对应的第二类代价与更新后的迁移策略对应的第二类代价进行对比,基于对比结果确定更新后的迁移策略所对应的接受概率。调度服务器可以从每轮策略更新所得到的更新后的迁移策略中选取得到满足迁移代价条件的迁移策略,作为第二代价策略,将第二代价策略作为初始的候选迁移策略。调度服务器还可以将第一代价策略以及第二代价策略作为初始的候选迁移策略。
在一些实施例中,调度服务器可以获取各个目标集群分别对应的候选存储单元集合,基于目标集群以及候选存储单元集合生成特定迁移策略,例如可以将候选存储单元集合中的各个候选存储单元作为特定迁移策略中的待迁移存储单元,将该待迁移存储单元对应的候选存储单元集合所属的目标集群作为该待迁移存单元的当前集群以及待迁移至的集群,得到特定迁移策略。特定迁移策略中,待迁移存储单元对应的当前集群与该待迁移存单元对应的待迁移至的集群相同。调度服务器可以将第一代价策略、第二代价策略以及特征迁移策略作为初始的候选迁移策略。
本实施例中,从每轮策略更新所得到的更新后的迁移策略中选取得到满足迁移代价条件的迁移策略,作为初始的候选迁移策略,从而可以得到迁移代价较小的各个迁移策略,作为初始的候选迁移策略,由于非初始的候选迁移策略可以是根据初始的候选迁移策略进行更新后得到的,例如基于初始的候选迁移策略进行进化后得到的,故通过迁移代价较小的策略,有助于得到迁移代价更小的候选迁移策略,提高了收敛速度,从而提高了得到目标迁移策略的效率。
在一些实施例中,如图7所示,步骤S212即基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,得到目标迁移策略包括:S702,获取候选迁移策略所对应的各个待迁移存储单元分别对应的待迁移数据量;S704,对各个待迁移数据量进行加和运算,得到候选迁移策略所对应的目标迁移数据量;S706,基于各个候选迁移策略对应的第一资源利用差异度、第二资源利用差异度以及目标迁移数据量,得到目标迁移策略。
其中,待迁移数据量是指当对待迁移存储单元进行迁移时所需要迁移的数据对应的数据量,可以为待迁移存储单元中存储的数据的数据量,例如可以是云盘中存储的数据对应的数据量。目标迁移数据量是指当按照候选迁移策略进行数据迁移时所需要迁移数据对应的数据量。目标迁移数据量越小,则需要迁移的数据量越小,从而数据迁移效率越高。
具体地,调度服务器可以将各个待迁移数据量加和运算,将加和运算的结果作为候选迁移策略对应的目标迁移数据量。例如,可以利用公式(5)计算目标迁移数据量。其中,Mc表示目标迁移数据量,n为目标迁移策略产生的迁移任务的数量,一个迁移任务迁移一个云盘,若di为第i个迁移任务所需要迁移的云盘,则所有需要被迁移的云盘集合为D={di},si为第i块云盘的数据量。
在一些实施例中,调度服务器可以基于候选迁移策略对应的第一资源利用差异度、第二资源利用差异度以及目标迁移数据量,得到第一资源利用差异度较小、第二资源利用差异度较小并且目标迁移数据量较小的迁移策略,作为目标迁移策略,从而提高数据迁移的效率。
本实施例中,基于各个候选迁移策略对应的第一资源利用差异度、第二资源利用差异度以及目标迁移数据量,得到目标迁移策略,从而可以得到第一资源利用差异度较小、第二资源利用差异度较小并且目标迁移数据量较小的迁移策略,作为目标迁移策略,提高了数据迁移的效率。
在一些实施例中,基于目标迁移策略对目标集群集合中的网络存储单元进行迁移包括:从目标迁移策略中获取待迁移存储单元对应的当前集群以及待迁移至的集群;将待迁移存储单元所对应的存储数据从当前集群中迁移至待迁移至的集群中,并建立待迁移至的集群与待迁移存储单元之间的对应关系,以在接收到待迁移存储单元所对应的数据获取请求时,根据对应关系,利用待迁移至的集群响应数据获取请求。
其中,数据获取请求用于请求获取在待迁移存储单元中存储的数据。当集群与网络存储单元之间建立对应关系后,集群可以响应于针对网络存储单元的请求。
具体地,终端可以展示网络存储单元对应的操作界面,通过该操作界面可以接收数据获取操作,当获取到数据获取操作时,终端可以响应于数据获取操作,向与网络存储单元建立对应关系的集群发送数据获取请求,集群可以响应于数据获取请求,将所请求的数据返回至终端,终端可以在操作界面中展示集群返回的数据。
本实施例中,从目标迁移策略中获取待迁移存储单元对应的当前集群以及待迁移至的集群,将待迁移存储单元对应的存储数据从当前集群中迁移至待迁移至的集群中,并建立待迁移至的集群与待迁移存储单元之间的对应关系,从而可以使得待迁移至的集群可以响应于针对与其建立对应关系的待迁移存储单元的数据获取请求。
在一些实施例中,提供了一种数据迁移方法,该数据迁移方法应用于云块存储系统中,可以部署于云块存储系统中的云盘调度系统中,可以对云块存储系统中的云盘进行迁移,本申请提供的数据迁移方法可以实现一种多目标迁移策略(MOMP,Multi-objectiveMigration Policy),MOMP的整体流程主要包括四个部分,分别是工作负载建模、目标配置、算法配置和迁移任务派发,主要包括以下步骤:
1、获取云块存储系统中的存储集群,将各个存储集群组成存储集群集合,确定存储集群对应的各个云盘。
2、获取存储集群对应的云盘在多个时间段中的读带宽利用度以及写带宽利用度,获取存储集群对应的云盘的容量利用度,获取存储集群在多个时间段中的读带宽利用度以及写带宽利用度,获取存储集群对应的容量利用度。
其中,多个时间段可以是连续的多个时间段,在多个时间段中云盘的容量利用度可以是不变的。一个时间段对应一个读带宽利用度,一个时间段对应一个写带宽利用度。
3、对云盘在多个时间段中的读带宽利用度进行均值运算,得到云盘平均读带宽利用度,获取云盘平均读带宽利用度对应的特征值,作为云盘读特征值,对云盘在多个时间段中的写带宽利用度进行均值运算,得到云盘平均写带宽利用度,获取云盘平均写带宽利用度对应的特征值,作为云盘写特征值,获取云盘的容量利用度对应的特征值,作为云盘容量特征值,将云盘容量特征值、云盘读特征值以及云盘写特征值组成的向量作为第一云盘利用度特征。
具体地,如图8所示,展示了一种多目标迁移策略MOMP,MOMP利用日志收集模块的跟踪信息对工作负载进行建模,通过目标配置确定优化目标,包括空间不平衡、时间不平衡和迁移流量,得到优化目标函数,通过多目标优化算法MH-MOEA(Multi-heuristic-MOEA)解决云盘调度问题。任务派发部分对迁移任务进行排序以及控制并发量。其中,MOEA(Multi-objective Evolutionary Algorithm)为多目标进化算法,MH-MOEA是一种多种启发式算法(heuristic algorithm)结合多目标进化算法的云盘迁移算法。多目标进化算法可以包括NSGA-II(Non dominated sorting genetic algorithm–II,第二代非支配排序遗传算法)、NSGA-III(Non dominated sorting genetic algorithm-III,第三代非支配排序遗传算法)、MOEA/D((Multi-objectiveEvolutionary Algorithm Based on Decomposition,基于分解的多目标进化算法)或RVEA(Reference Vector Guided Evolutionary Algorithmfor Many-Objective Optimization,参考向量引导多目标优化进化算法)等中的至少一种。多目标优化问题也可以采用强化学习算法Point Network。
MOMP通过使用日志收集模块的历史信息,为每个云盘和每个集群建立工作负载模型。工作负载模型包括资源利用率模型以及访问流量模型用向量。资源利用率模型用向量<SU,RU,WU>表示,分别表示平均存储容量使用量、平均读取带宽利用率和平均写入带宽利用率。访问流量模型用向量AM=<RC,WC>表示。RC和WC表示每个集群和云盘每5分钟的读取带宽和写入带宽利用率曲线。资源利用率表示集群中各资源维度的使用资源量与上限的比值,资源利用率模型表示云盘或集群对不同资源维度的平均使用情况,流量模型用于表征云盘或集群在一天中随时间变化的读写带宽变化特征。
第一云盘利用度特征例如可以图8中的RM,云盘容量特征值例如可以是图8中的SU,云盘读特征值例如可以是图8中的RU,云盘写特征值例如可以是图8中的WU。
4、对集群在多个时间段中的读带宽利用度进行均值运算,得到集群平均读带宽利用度,获取集群平均读带宽利用度对应的特征值,作为集群读特征值,对集群在多个时间段中的写带宽利用度进行均值运算,得到集群平均写带宽利用度,获取集群平均写带宽利用度对应的特征值,作为集群写特征值,获取集群的容量利用度对应的特征值,作为集群容量特征值,将集群容量特征值、集群读特征值以及集群写特征值组成的向量作为第一集群利用度特征。
5、获取云盘的读带宽利用度对应的特征值,按照时间先后顺序,对各个读带宽利用度的特征值进行排列,得到云盘读特征值序列,获取云盘的写带宽利用度对应的特征值,按照时间先后顺序,对各个写带宽利用度的特征进行排序,得到云盘写特征值序列,将云盘读特征值序列以及云盘写特征值序列组成的向量作为第二云盘利用度特征。
具体地,第二云盘利用度特征例如可以图8中的AM,云盘读特征值序列例如可以是图8中的RC,云盘写特征值例如可以是图8中的WC。
6、获取集群的读带宽利用度对应的特征值,按照时间先后顺序,对各个读带宽利用度的特征值进行排列,得到集群读特征值序列,获取集群的写带宽利用度对应的特征值,按照时间先后顺序,对各个写带宽利用度的特征进行排序,得到集群写特征值序列,将集群读特征值序列以及集群写特征值序列组成的向量作为第二集群利用度特征。
7、对第一云盘利用度特征与第一集群利用度特征进行相似度计算,得到第一特征相似度,对第二云盘利用度特征与第二集群利用度特征进行相似度计算,得到第二特征相似度,基于第一特征相似度以及第二特征相似度,从存储集群对应的各个云盘中,获取负载特征与存储集群相似的云盘,作为存储集群对应的候选云盘。
其中,在计算相似度时,可以采用余弦相似度、点积(vector dot)或多重相关系数(Multiple correlation coefficient)等计算方式中的任意一种。从集群对应的各个云盘中筛选得到候选云盘的过程对应图8中的预筛选的过程。预筛选还可以称为云盘集合预过滤(Pre-Filter),预筛选中可以设计有预过滤器,预过滤器可以使用贪婪启发式算法来解决性能下降和长时成本的问题,从而选择出适合迁移的部分云盘。筛选标准可以是通过比较云盘与其所属集群之间工作负载模型的相似度来完成的,例如可以通过使用公式计算其中的云盘与该集群的工作负载相似度,分别筛选出两个具有最大RM-Sim和最大AM-Sim的云盘,并重复选择,直到达到每个集群迁移任务的最大数量。其中,RM-Sim是指云盘的资源利用率模型向量与云盘所属的集群的资源利用率模型向量之间的相似度,AM-Sim是指云盘的访问流量模型向量与云盘所属的集群的访问流量模型向量之间的相似度。
8、基于存储集群对应的各个候选云盘,生成随机迁移策略,将随机迁移策略作为待更新的迁移策略;
9、对待更新的迁移策略中的至少一个的候选云盘对应的目标集群进行更新,得到更新后的迁移策略。
其中,随机迁移策略中包括候选云盘、候选云盘对应的存储集群以及候选云盘对应的目标集群,目标集群是指候选云盘待迁移至的存储集群。
10、基于待更新的迁移策略确定存储集群集合对应的迁移后的迁移集群集合,作为第一存储集群集合,基于更新后的迁移策略确定存储集群集合对应的迁移后的迁移集群集合,作为第二存储集群集合。
11、对第一存储集群集合中各个存储集群分别对应的容量利用度进行标准差运算,得到容量标准差,对存储集群集合中各个存储集群分别对应的集群平均读带宽利用度进行标准差运算,得到第一读带宽标准差,对存储集群集合中各个存储集群分别对应的集群平均写带宽利用度进行标准差运算,得到第一写带宽标准差,将容量标准差、第一读带宽标准差以及第一写带宽标准差进行加和运算,得到第一存储集群集合对应的第一资源利用差异度。
具体地,如图8所示,将云盘迁移问题建模为一种多目标优化问题,即云盘迁移需要优化多个目标,设计了空间不均衡度(Si)、时间不均衡度(Ti)以及迁移流量(Mc)三个目标函数。这三个目标函数随着云盘和集群之间的映射关系变化而变化。云盘迁移问题可以抽象为找到最小化三个目标函数的解,该解为云盘与集群的映射向量M。一个映射向量可以为一个迁移策略。第一资源利用差异度例如可以为图8中的空间不均衡度。
12、获取第二存储集群集合对应的第一资源利用差异度,当第二存储集群集合对应的第一资源利用差异度小于第一存储集群集合对应的第一资源利用差异度时,将更新后的迁移策略作为下一轮的待更新的迁移策略,当第二存储集群集合对应的第一资源利用差异度大于第一存储集群集合对应的第一资源利用差异度时,以较小的概率将更新后的迁移策略作为下一轮的待更新的迁移策略,返回步骤9,直至满足更新次数。
13、对第一存储集群对应的多个时间段的读带宽利用度进行标准差运算,得到第二读带宽标准差,对存储集群对应的多个时间段的写带宽利用度进行标准差运算,得到第二写带宽标准差,将第二读带宽标准差以及第二写带宽标准差进行加和运算,得到存储集群对应的集群资源利用差异度,对存储集群集合中的各个存储集群分别对应的集群资源利用差异度进行加和运算,得到第一存储集群集合对应的第二资源利用差异度。
具体地,第二资源利用差异度例如可以是图8中的时间不均衡度。
14、获取第二存储集群集合对应的第二资源利用差异度,当第二存储集群集合对应的第二资源利用差异度小于第一存储集群集合对应的第二资源利用差异度时,将更新后的迁移策略作为下一轮的待更新的迁移策略,当第二存储集群集合对应的第二资源利用差异度大于第一存储集群集合对应的第二资源利用差异度时,以较小的概率将更新后的迁移策略作为下一轮的待更新的迁移策略,返回步骤9,直至满足更新次数。
15、从每轮得到的待更新的迁移策略中选取得到初始的候选迁移策略,将候选云盘所属的存储集群作为候选云盘对应的待迁移至的集群,生成特定迁移策略,将特定迁移策略也作为初始的候选迁移策略。
其中,由于特定迁移策略中,待迁移至的集群为候选云盘所属的存储集群,即当按照特定迁移策略进行迁移时,没有云盘被迁移,故迁移数据量为0,迁移数据量最小。迁移数据量例如可以是图8中的迁移流量。
在一些实施例中,可以利用模拟退火(Simulated Annealing,SA)算法生成初始的候选迁移策略。模拟退火算法是一种轻量级的单目标元启发式算法。例如可以分别以空间不均衡度以及时间不均衡度为目标创建使得空间不均衡度和时间不均衡度较小的解。
16、将各个初始的候选迁移策略组成的集合作为初始种群,将初始种群作为当前种群,对当前种群进行选择、交叉或突变,得到子代种群,将当前种群以及子代种群中的各个个体进行排列,从排列所得到的序列中选取目标数量的个体,组成下一轮的当前种群,返回对当前种群进行选择、交叉或突变,得到子代种群的步骤,直到达到迭代次数,从最后一轮的当前种群中获取目标迁移策略。
其中,子代种群中的个体数量与初始种群中的个体数量相同。每个个体为一种迁移策略。目标数量是指初始种群中包括的个体的数量。
具体地,进化算法在初始种群的基础上探索到合适的解,初始种群影响进化算法的解的好坏。可以将初始种群作为多目标进化算法中的初始解,利用多目标进化算法得到目标迁移策略。
在一些实施例中,多目标进化算法的步骤可以包括:
(1)初解生成,使用种群初始化策略SA-Init,生成一个合格的初始解集P={p1,p2,…pn}。P中的每一个元素表示一个迁移策略。
(2)利用选择、交叉和突变创建子代种群。子代种群与初始种群中的个体数量相同。
(3)适应新计算:计算适应性得到是指多个目标函数的值,并按适应性得分对解进行排序。解的排序可以根据Pareto(帕累托)的非支配排序分为F={f1,f2,…,fk},优先选择使得多个目标函数的值更小的解,总共选择出n个解作为下一代种群。
(4)得到帕累托解集。继续迭代(2)-(3)的步骤,指导达到迭代次数,最后得到帕累托解集。
目标迁移策略可以是从多目标进化算法得到的帕累托解集中筛选得到的。例如可以利用多目标决策从帕累托解集中筛选得到的目标迁移策略,例如可以使用层次分析法(Analytic Hierachy Process,AHP)筛选得到的目标迁移策略。MH-MOEA获得了Pareto解集,Pareto解集是一组不同迁移流量下的迁移方案集合。对于实际的迁移任务执行可以选择一个方案进行执行,采用层次分析法可以根据云提供商的偏好和约束条件,为多个目标选择最合适的解决方案。
17、根据目标迁移策略生成迁移任务集合,
其中,迁移任务集合中可以包括一个或多个迁移任务,一个迁移任务需要迁移一个云盘。可以将目标迁移策略中的云盘对应的当前集群与云盘对应的目的集群进行对比,当当前集群与目的集群相同时,确定该云盘不存在迁移任务,当当前集群与目的集群不同时,确定该云盘对应的迁移任务为将云盘从当前云盘迁移至目的云盘,从而可以得到各个迁移任务。目的集群是指云盘待迁移至的集群。
具体地,当迁移任务有多个时,需要对迁移任务集合中的各个迁移任务进行任务安排,从而确定迁移任务执行的先后顺序。任务安排可以包括任务排序和并发控制。首先,可以将迁移任务集合中任务执行完成后的空间不平衡性和时间不平衡性的变化作为优化度,根据优化度对任务进行排序,优化度较高的任务将优先执行。其次,可以限制每个集群中并发迁移任务的数量不超过集群带宽上限,以保证集群所服务的用户应用不受影响。
迁移策略可以应用在虚拟机迁移、容器迁移以及虚拟卷迁移。迁移策略从迁移时机划分主要有以下两种:1.过载迁移。过载迁移方法的核心思想是利用时间序列预测或静态阈值来识别过载主机。然后将选定的虚拟机从过载主机中迁移出来,以避免或减少整体过载时间。这种类型的策略在虚拟机迁移领域被广泛使用。基于过载的迁移策略在某一维度达到或即将达到主机的资源极限时触发虚拟机的迁移,然后利用虚拟机在线迁移技术在短时间内完成迁移。2.主动迁移。主动迁移即使在无过载发生情况下,也周期性的进行迁移动作,优化负载布局。主动迁移与过载迁移最大的不同在于迁移时机的选择。
迁移策略按算法主要划分为以下两种:1.贪心启发式策略。贪心启发式算法根据不同的迁移规则,将当前最大利用率(Maximum Utilization,MU)、最短迁移时间(MinimumMigration Time,MMT)、最大关联度(Maximum Correlation,MC)的虚拟机通过Best-Fit(最佳适应)算法迁移到最合适的物理机上。2.元启发式策略。元启发式策略通过计算迁移方案的收益来选择较好的迁移动作(选择哪个虚拟机,迁移到哪个主机)。根据目标数量的不同,元启发式策略分为单目标和多目标。
而本申请实施例中,使用一种多种启发式方法结合的多目标优化算法解决云盘迁移问题,决策过程中同时优化空间均衡度,时间均衡度以及迁移流量多个目标。本发明可以在合理的计算时间开销内,通过进化算法计算得到合适的迁移方案,通过执行该方案,可以均衡云块存储系统中不同集群间的负载,同时节省迁移流量。本申请提供的MOMP可以很好的实现云存储系统中的负载均衡,减少高负载集群的数量,负载均衡可以有效的降低过载时间,例如可以降低集群超过设定阈值的持续时间、降低过载程度,例如可以降低集群超过设定阈值的最大百分比,MOMP还可以节约迁移流量,迁移流量是指完成全部任务的总迁移数据量,减少了迁移成本。
应该理解的是,虽然图2-图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,如图9所示,提供了一种数据迁移装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:目标集群集合确定模块902、候选迁移策略获取模块904、迁移集群集合确定模块906、第一资源利用差异度获取模块908、第二资源利用差异度获取模块910、目标迁移策略得到模块912和迁移模块914,其中:
目标集群集合确定模块902,用于确定目标集群集合,以及目标集群集合中各个目标集群分别对应的网络存储单元集合;
候选迁移策略获取模块904,用于获取目标集群集合所对应的候选迁移策略;候选迁移策略是对目标集群对应的网络存储单元进行迁移的策略;
迁移集群集合确定模块906,用于基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合;
第一资源利用差异度获取模块908,用于获取迁移集群集合对应的第一资源利用差异度,第一资源利用差异度表示迁移集群集合中的集群利用存储资源的差异度;
第二资源利用差异度获取模块910,用于获取迁移集群集合所对应的第二资源利用差异度,第二资源利用差异度表示迁移集群集合在不同时间段利用存储资源的差异度;
目标迁移策略得到模块912,用于基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,得到目标迁移策略;
迁移模块914,用于基于目标迁移策略对目标集群集合中的网络存储单元进行迁移。
在一些实施例中,候选迁移策略获取模块904包括:
单元利用度特征得到单元,用于获取目标集群中各个网络存储单元所对应的单元资源利用度,根据单元资源利用度得到网络存储单元所对应的单元利用度特征;
集群利用度特征得到单元,用于获取目标集群所对应的集群资源利用度,根据集群资源利用度得到目标集群所对应的集群利用度特征;
特征相似度获取单元,用于获取单元利用度特征与集群利用度特征之间的特征相似度;
候选存储单元集合得到单元,用于基于特征相似度从目标集群所对应的网络存储单元集合中,过滤出与目标集群相似的网络存储单元,得到候选迁移存储单元,组成候选存储单元集合;
待迁移存储单元得到单元,用于从各个目标集群分别对应的候选存储单元集合中,筛选得到候选迁移策略对应的待迁移存储单元。
在一些实施例中,集群利用度特征包括第一利用度特征,集群利用度特征得到单元,还用于确定资源利用维度集合,资源利用维度集合包括多个资源利用维度;获取目标集群在各个资源利用维度所对应的集群资源利用度;对同一资源利用维度的集群资源利用度进行统计运算,得到资源利用维度分别对应的利用度统计值,确定各个利用度统计值分别对应的特征值;将资源利用维度集合中各个资源利用维度分别对应的特征值进行拼接,得到目标集群对应的第一利用度特征。
在一些实施例中,集群利用度特征包括第二利用度特征,集群利用度特征得到单元,还用于根据目标集群在多个时间段中所对应的资源利用度,得到时间段对应的时间段特征值;按照时间先后顺序,对各个时间段对应的时间段特征值进行排列,得到目标集群所对应的第二利用度特征。
在一些实施例中,第一资源利用差异度获取模块808包括:
时间段资源利用度得到单元,用于获取迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;
第二统计资源利用度得到单元,用于对迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;
第一统计资源利用度得到单元,用于对迁移集群集合中各个迁移集群所对应的第二统计资源利用度进行统计,得到第一统计资源利用度;
第一资源利用差异度得到单元,用于基于各个迁移群资源利用度与第一统计资源利用度之间的第一利用度差异,得到迁移集群集合对应的第一资源利用差异度,第一利用度差异与第一资源利用差异度成正相关关系。
在一些实施例中,第二资源利用差异度获取模块910包括:
时间段资源利用度得到单元,用于获取迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;
第二统计资源利用度得到单元,用于对迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;
集群资源利用差异度得到单元,用于基于各个时间段资源利用度与第二统计资源利用度之间的第二利用度差异,得到迁移集群对应的集群资源利用差异度,集群资源利用差异度与第二利用度差异成正相关关系;
第二资源利用差异度得到单元,用于对迁移集群集合中各个迁移集群对应的集群资源利用差异度进行统计,得到迁移集群集合所对应的第二资源利用差异度。
在一些实施例中,候选迁移策略为多个,目标迁移策略得到模块912包括:
策略排序得到单元,用于基于各个候选迁移策略所对应的第一资源利用差异度以及第二资源利用差异度,对多个候选迁移策略进行排序,得到各个候选迁移策略所对应的策略排序;其中,排序在前的候选迁移策略所对应的资源利用差异度小于等于排序在后的候选迁移策略所对应的资源利用差异度;
选取迁移策略得到单元,用于从多个候选迁移策略中选取策略排序在排序阈值之前的候选迁移策略,作为选取迁移策略;
更新后的候选迁移策略得到单元,用于基于选取迁移策略进行策略更新,得到更新后的候选迁移策略;
第一目标迁移策略得到单元,用于返回基于候选迁移策略确定目标集群集合对应的迁移后的迁移集群集合的步骤,直至满足迁移收敛条件,从满足迁移收敛条件的候选迁移策略中获取目标迁移策略。
在一些实施例中,选取迁移策略包括第一迁移策略以及第二迁移策略,更新后的候选迁移策略得到单元,还用于将第一迁移策略中的第一网络存储单元所对应的待迁移至的第一目标集群,与第二迁移策略中的第二网络存储单元所对应的待迁移至的第二目标集群进行交换,得到更新后的第一迁移策略以及更新后的第二迁移策略;基于更新后的第一迁移策略以及更新后的第二迁移策略得到更新后的候选迁移策略。
在一些实施例中,候选迁移策略获取模块904包括:
第一待更新的迁移策略得到单元,用于获取随机生成的随机迁移策略,作为待更新的迁移策略;
更新后的迁移策略得到单元,用于对待更新的迁移策略对应的待迁移存储单元或者待迁移存储单元对应的待迁移至的集群中的至少一个进行更新,得到更新后的迁移策略;
接受概率得到单元,用于计算更新后的迁移策略所对应的迁移代价,基于迁移代价得到更新后的迁移策略的接受概率,接受概率与迁移代价成负相关关系;
第二待更新的迁移策略得到单元,用于基于接受概率从待更新的迁移策略以及更新后的迁移策略中选取得到下一轮策略更新对应的待更新的迁移策略;
返回单元,用于返回对待更新的迁移策略中的待迁移存储单元或者待迁移存储单元对应的待迁移至的集群的至少一个进行更新,得到更新后的迁移策略的步骤,直到满足更新次数;
初始的候选迁移策略得到单元,用于从每轮策略更新所得到的更新后的迁移策略中选取得到满足迁移代价条件的迁移策略,作为初始的候选迁移策略。
在一些实施例中,目标迁移策略得到模块912包括:
待迁移数据量得到单元,用于获取候选迁移策略所对应的各个待迁移存储单元分别对应的待迁移数据量;
目标迁移数据量得到单元,用于对各个待迁移数据量进行加和运算,得到候选迁移策略所对应的目标迁移数据量;
第二目标迁移策略得到单元,用于基于各个候选迁移策略对应的第一资源利用差异度、第二资源利用差异度以及目标迁移数据量,得到目标迁移策略。
在一些实施例中,迁移模块914包括:
集群获取单元,用于从目标迁移策略中获取待迁移存储单元对应的当前集群以及待迁移至的集群;
迁移单元,用于将待迁移存储单元所对应的存储数据从当前集群中迁移至待迁移至的集群中,并建立待迁移至的集群与待迁移存储单元之间的对应关系,以在接收到待迁移存储单元所对应的数据获取请求时,根据对应关系,利用待迁移至的集群响应数据获取请求。
关于数据迁移装置的具体限定可以参见上文中对于数据迁移方法的限定,在此不再赘述。上述数据迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据迁移方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据迁移方法中涉及到的数据,例如可以存储有迁移策略。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据迁移方法。
本领域技术人员可以理解,图10和图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种数据迁移方法,其特征在于,所述方法包括:
确定目标集群集合,以及所述目标集群集合中各个目标集群分别对应的网络存储单元集合;
获取所述目标集群集合所对应的候选迁移策略;所述候选迁移策略是对所述目标集群对应的网络存储单元进行迁移的策略;
基于所述候选迁移策略确定所述目标集群集合对应的迁移后的迁移集群集合;
获取所述迁移集群集合对应的第一资源利用差异度,所述第一资源利用差异度表示所述迁移集群集合中的集群利用存储资源的差异度;
获取所述迁移集群集合所对应的第二资源利用差异度,所述第二资源利用差异度表示所述迁移集群集合在不同时间段利用存储资源的差异度;
基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,得到目标迁移策略;
基于所述目标迁移策略对所述目标集群集合中的网络存储单元进行迁移。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标集群集合所对应的候选迁移策略包括:
获取所述目标集群中各个网络存储单元所对应的单元资源利用度,根据所述单元资源利用度得到所述网络存储单元所对应的单元利用度特征;
获取所述目标集群所对应的集群资源利用度,根据所述集群资源利用度得到所述目标集群所对应的集群利用度特征;
获取所述单元利用度特征与所述集群利用度特征之间的特征相似度;
基于所述特征相似度从所述目标集群所对应的网络存储单元集合中,过滤出与所述目标集群相似的网络存储单元,得到候选迁移存储单元,组成候选存储单元集合;
从各个所述目标集群分别对应的候选存储单元集合中,筛选得到所述候选迁移策略对应的待迁移存储单元。
3.根据权利要求2所述的方法,其特征在于,所述集群利用度特征包括第一利用度特征,所述获取所述目标集群所对应的集群资源利用度,根据所述集群资源利用度得到所述目标集群所对应的集群利用度特征包括:
确定资源利用维度集合,所述资源利用维度集合包括多个资源利用维度;
获取所述目标集群在多个时间段中所述资源利用维度所对应的集群资源利用度;
对同一资源利用维度的所述集群资源利用度进行统计运算,得到所述资源利用维度分别对应的利用度统计值,确定各个所述利用度统计值分别对应的特征值;
将所述资源利用维度集合中各个所述资源利用维度分别对应的特征值进行拼接,得到所述目标集群对应的第一利用度特征。
4.根据权利要求2所述的方法,其特征在于,所述集群利用度特征包括第二利用度特征,所述获取所述目标集群所对应的集群资源利用度,根据所述集群资源利用度得到所述目标集群所对应的集群利用度特征包括:
根据所述目标集群在多个时间段中所对应的集群资源利用度,得到所述时间段对应的时间段特征值;
按照时间先后顺序,对各个所述时间段对应的时间段特征值进行排列,得到所述目标集群所对应的第二利用度特征。
5.根据权利要求1所述的方法,其特征在于,所述获取所述迁移集群集合对应的第一资源利用差异度包括:
获取所述迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;
对所述迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;
对所述迁移集群集合中各个所述迁移集群所对应的第二统计资源利用度进行统计,得到第一统计资源利用度;
基于各个所述第二统计资源利用度与所述第一统计资源利用度之间的第一利用度差异,得到所述迁移集群集合对应的所述第一资源利用差异度,所述第一利用度差异与所述第一资源利用差异度成正相关关系。
6.根据权利要求1所述的方法,其特征在于,所述获取所述迁移集群集合所对应的第二资源利用差异度包括:
获取所述迁移集群在多个时间段中所对应的资源利用度,作为时间段资源利用度;
对所述迁移集群所对应的时间段资源利用度进行统计,得到第二统计资源利用度;
基于各个所述时间段资源利用度与所述第二统计资源利用度之间的第二利用度差异,得到所述迁移集群对应的集群资源利用差异度,所述集群资源利用差异度与所述第二利用度差异成正相关关系;
对所述迁移集群集合中各个所述迁移集群对应的所述集群资源利用差异度进行统计,得到所述迁移集群集合所对应的所述第二资源利用差异度。
7.根据权利要求1所述的方法,其特征在于,所述候选迁移策略为多个,所述基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,得到目标迁移策略包括:
基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,对多个所述候选迁移策略进行排序,得到各个所述候选迁移策略所对应的策略排序;其中,排序在前的候选迁移策略所对应的资源利用差异度小于等于排序在后的候选迁移策略所对应的资源利用差异度;
从多个所述候选迁移策略中选取所述策略排序在排序阈值之前的所述候选迁移策略,作为选取迁移策略;
基于所述选取迁移策略进行策略更新,得到更新后的候选迁移策略;
返回所述基于所述候选迁移策略确定所述目标集群集合对应的迁移后的迁移集群集合的步骤,直至满足迁移收敛条件,从满足迁移收敛条件的候选迁移策略中获取所述目标迁移策略。
8.根据权利要求7所述的方法,其特征在于,所述选取迁移策略包括第一迁移策略以及第二迁移策略,所述基于所述选取迁移策略进行策略更新,得到更新后的候选迁移策略包括:
将所述第一迁移策略中的第一网络存储单元所对应的待迁移至的第一目标集群,与所述第二迁移策略中的第二网络存储单元所对应的待迁移至的第二目标集群进行交换,得到更新后的第一迁移策略以及更新后的第二迁移策略;
基于更新后的第一迁移策略以及更新后的第二迁移策略得到更新后的候选迁移策略。
9.根据权利要求7所述的方法,其特征在于,所述获取所述目标集群集合所对应的候选迁移策略包括:
获取随机生成的随机迁移策略,作为待更新的迁移策略;
对待更新的迁移策略对应的待迁移存储单元或者所述待迁移存储单元对应的待迁移至的集群中的至少一个进行更新,得到更新后的迁移策略;
计算更新后的迁移策略所对应的迁移代价,基于所述迁移代价得到所述更新后的迁移策略的接受概率,所述接受概率与所述迁移代价成负相关关系;
基于所述接受概率从待更新的迁移策略以及更新后的迁移策略中选取得到下一轮策略更新对应的待更新的迁移策略;
返回对待更新的迁移策略中的待迁移存储单元或者所述待迁移存储单元对应的待迁移至的集群的至少一个进行更新,得到更新后的迁移策略的步骤,直到满足更新次数;
从每轮策略更新所得到的更新后的迁移策略中选取得到满足迁移代价条件的迁移策略,作为初始的候选迁移策略。
10.根据权利要求1所述的方法,其特征在于,所述基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,得到目标迁移策略包括:
获取所述候选迁移策略所对应的各个待迁移存储单元分别对应的待迁移数据量;
对各个所述待迁移数据量进行加和运算,得到所述候选迁移策略所对应的目标迁移数据量;
基于各个所述候选迁移策略对应的所述第一资源利用差异度、所述第二资源利用差异度以及所述目标迁移数据量,得到所述目标迁移策略。
11.根据权利要求1所述的方法,其特征在于,所述基于所述目标迁移策略对所述目标集群集合中的网络存储单元进行迁移包括:
从所述目标迁移策略中获取待迁移存储单元对应的当前集群以及待迁移至的集群;
将所述待迁移存储单元所对应的存储数据从所述当前集群中迁移至所述待迁移至的集群中,并建立所述待迁移至的集群与所述待迁移存储单元之间的对应关系,以在接收到所述待迁移存储单元所对应的数据获取请求时,根据所述对应关系,利用所述待迁移至的集群响应所述数据获取请求。
12.一种数据迁移装置,其特征在于,所述装置包括:
目标集群集合确定模块,用于确定目标集群集合,以及所述目标集群集合中各个目标集群分别对应的网络存储单元集合;
候选迁移策略获取模块,用于获取所述目标集群集合所对应的候选迁移策略;所述候选迁移策略是对所述目标集群对应的网络存储单元进行迁移的策略;
迁移集群集合确定模块,用于基于所述候选迁移策略确定所述目标集群集合对应的迁移后的迁移集群集合;
第一资源利用差异度获取模块,用于获取所述迁移集群集合对应的第一资源利用差异度,所述第一资源利用差异度表示所述迁移集群集合中的集群利用存储资源的差异度;
第二资源利用差异度获取模块,用于获取所述迁移集群集合所对应的第二资源利用差异度,所述第二资源利用差异度表示所述迁移集群集合在不同时间段利用存储资源的差异度;
目标迁移策略得到模块,用于基于各个所述候选迁移策略所对应的所述第一资源利用差异度以及所述第二资源利用差异度,得到目标迁移策略;
迁移模块,用于基于所述目标迁移策略对所述目标集群集合中的网络存储单元进行迁移。
13.根据权利要求12所述的装置,其特征在于,所述候选迁移策略获取模块包括:
单元利用度特征得到单元,用于获取所述目标集群中各个网络存储单元所对应的单元资源利用度,根据所述单元资源利用度得到所述网络存储单元所对应的单元利用度特征;
集群利用度特征得到单元,用于获取所述目标集群所对应的集群资源利用度,根据所述集群资源利用度得到所述目标集群所对应的集群利用度特征;
特征相似度获取单元,用于获取所述单元利用度特征与所述集群利用度特征之间的特征相似度;
候选存储单元集合得到单元,用于基于所述特征相似度从所述目标集群所对应的网络存储单元集合中,过滤出与所述目标集群相似的网络存储单元,得到候选迁移存储单元,组成候选存储单元集合;
待迁移存储单元得到单元,用于从各个所述目标集群分别对应的候选存储单元集合中,筛选得到所述候选迁移策略对应的待迁移存储单元。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110700745.9A CN115509733A (zh) | 2021-06-23 | 2021-06-23 | 数据迁移方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110700745.9A CN115509733A (zh) | 2021-06-23 | 2021-06-23 | 数据迁移方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509733A true CN115509733A (zh) | 2022-12-23 |
Family
ID=84499973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110700745.9A Pending CN115509733A (zh) | 2021-06-23 | 2021-06-23 | 数据迁移方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509733A (zh) |
-
2021
- 2021-06-23 CN CN202110700745.9A patent/CN115509733A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Deng et al. | Optimal application deployment in resource constrained distributed edges | |
Liu et al. | A speculative approach to spatial‐temporal efficiency with multi‐objective optimization in a heterogeneous cloud environment | |
Jyoti et al. | Dynamic provisioning of resources based on load balancing and service broker policy in cloud computing | |
Huang et al. | A novel cluster computing technique based on signal clustering and analytic hierarchy model using hadoop | |
Yang et al. | A spatiotemporal compression based approach for efficient big data processing on cloud | |
US20100115216A1 (en) | Data allocation and replication across distributed storage system | |
Salem et al. | An artificial bee colony algorithm for data replication optimization in cloud environments | |
Junaid et al. | Modeling an optimized approach for load balancing in cloud | |
Tos et al. | Dynamic replication strategies in data grid systems: a survey | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
Cabrera et al. | A simulation-optimization approach to deploy Internet services in large-scale systems with user-provided resources | |
CN111722806A (zh) | 云盘分配方法、装置、电子设备及存储介质 | |
Javadpour et al. | Improving load balancing for data-duplication in big data cloud computing networks | |
Limam et al. | Data replication strategy with satisfaction of availability, performance and tenant budget requirements | |
Li et al. | Resource scheduling based on improved spectral clustering algorithm in edge computing | |
Awad et al. | A novel intelligent approach for dynamic data replication in cloud environment | |
Taghizadeh et al. | A metaheuristic‐based data replica placement approach for data‐intensive IoT applications in the fog computing environment | |
Magotra et al. | Adaptive computational solutions to energy efficiency in cloud computing environment using VM consolidation | |
Guo et al. | Mobile edge server placement based on meta-heuristic algorithm | |
Pandey et al. | Energy efficiency strategy for big data in cloud environment using deep reinforcement learning | |
Shenbaga Moorthy et al. | Optimal provisioning and scheduling of analytics as a service in cloud computing | |
Sun et al. | SORD: A new strategy of online replica deduplication in Cloud-P2P | |
CN114423023A (zh) | 一种面向移动用户的5g网络边缘服务器部署方法 | |
Ziafat et al. | A method for the optimum selection of datacenters in geographically distributed clouds | |
Li et al. | Adaptive replica creation and selection strategies for latency-aware application in collaborative edge-cloud system |
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 |