CN111124762B - 一种基于改进粒子群算法的动态副本放置方法 - Google Patents

一种基于改进粒子群算法的动态副本放置方法 Download PDF

Info

Publication number
CN111124762B
CN111124762B CN201911391584.9A CN201911391584A CN111124762B CN 111124762 B CN111124762 B CN 111124762B CN 201911391584 A CN201911391584 A CN 201911391584A CN 111124762 B CN111124762 B CN 111124762B
Authority
CN
China
Prior art keywords
file
node
copy
data
copies
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911391584.9A
Other languages
English (en)
Other versions
CN111124762A (zh
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.)
Aerospace Science And Technology Network Information Development Co ltd
Original Assignee
Aerospace Science And Technology Network Information Development Co 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 Aerospace Science And Technology Network Information Development Co ltd filed Critical Aerospace Science And Technology Network Information Development Co ltd
Priority to CN201911391584.9A priority Critical patent/CN111124762B/zh
Publication of CN111124762A publication Critical patent/CN111124762A/zh
Application granted granted Critical
Publication of CN111124762B publication Critical patent/CN111124762B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于改进粒子群算法的动态副本放置方法,其中,包括:对系统提出访问请求确定分布式文件系统可用;统计周期内文件被访问的次数,计算副本访问频率和节点情况;根据文件的实际热度及理想热度的差值/理想热度得到α,综合负载均衡、响应延迟和存储开销等外在因素确定阈值β;利用文件实际热度与理想热度αi,当αi>β时,则相应的更改副本的数目,副本的数目利用公式计算;当αi<β时,则保持副本数目不变;对于远程节点,利用多目标粒子群算法与副本放置相结合的方式选取副本节点;在副本运行阶段利用DRM动态副本控制算法平衡节点负载。

Description

一种基于改进粒子群算法的动态副本放置方法
技术领域
本发明涉及分布式系统副本策略技术,特别涉及一种基于改进粒子群算法的动态副本放置方法。
背景技术
在分布式系统中,数据可靠性依赖数据容错机制。副本策略是常用的容错机制,通过生成多个原始数据的副本,并将这些原始数据的副本分别存储在分布式系统存储服务器上,只要有一个副本保持完整,原始数据就可以正常获取并提供给用户访问。根据系统中副本数目是否可变,副本技术可以分为静态副本动态副本。其中,静态副本是指副本的数量在系统初始化后就已经确定,从数据存储开始阶段到其整个生命周期结束,例如GFS、HDFS、Windows Azure等;而动态副本则是根据系统的存储能力、带宽以及用户访问模式等系统状态动态的创建和删除副本。静态副本实现简单,易于管理,但是会影响系统的负载均衡;动态副本策略依据存储系统的实时情况来决定副本的数量和放置,使系统的配置更加优化,但是实现复杂,不便于系统维护。通常,动态副本需要合适的数据放置策略,来实现副本的优化放置和系统的负载均衡。
中国专利“CN 109902797一种基于蚁群算法的云副本放置方案”提供了一种基于优化算法的云副本放置方案。此专利将蚁群算法应用到多副本存储中,改进了蚁群的信息素更新策略,并结合拉普拉斯概率分布优化副本放置过程。其具体过程为:1)确定副本放置模型;2)定义蚁群优化算法与副本放置结合;3)蚁群优化副本位置。
中国专利“CN 109902797一种基于蚁群算法的云副本放置方案”中使用的蚁群算法具有固有的局限性。蚁群算法收敛速度慢、易陷入局部最优。蚁群算法中初始信息素匮乏,一般需要较长的搜索时间,其复杂度可以反映这一点;而且该方法容易出现停滞现象,即搜索进行到一定程度后,所有个体发现的解完全一致,不能对解空间进一步进行搜索,不利于发现更好的解。并且若蚁群算法中的α和β两个参数设置不当,会导致所得到解的质量非常差。
发明内容
本发明的目的在于提供一种基于改进粒子群算法的动态副本放置方法,用于解决上述现有技术的问题。
本发明一种基于改进粒子群算法的动态副本放置方法,其中,包括:(1)对系统提出访问请求确定分布式文件系统可用;(2)统计周期内文件被访问的次数,计算副本访问频率和节点情况;(3)根据文件的实际热度及理想热度的差值/理想热度得到α,综合负载均衡、响应延迟和存储开销等外在因素确定阈值β;(4)利用文件实际热度与理想热度αi,当αi>β时,则相应的更改副本的数目,副本的数目利用公式计算;当αi<β时,则保持副本数目不变;(5)对于远程节点,利用多目标粒子群算法与副本放置相结合的方式选取副本节点;(6)在副本运行阶段利用DRM动态副本控制算法平衡节点负载。
根据本发明的基于改进粒子群算法的动态副本放置方法的一实施例,其中,通过综合考虑节点当前的CPU状态、内存状态、磁盘状态以及网络状态指标,来衡量节点的优劣。
根据本发明的基于改进粒子群算法的动态副本放置方法的一实施例,其中,对于选取副本节点:构建数学模型,采用层次分析法对存储节点的评价指标进行从定性到定量的转化处理,利用AHP算法得到权重向量;通过定性描述各个指标的额重要性,利用层次分析法将各个指标进行分层,利用数学方法得到各项指标的权值,完成从定性到定量的转化。
根据本发明的基于改进粒子群算法的动态副本放置方法的一实施例,其中,利用数学方法得到各项指标的权值,完成从定性到定量的转化,包括:
数据节点集:设云存储系统中的数据节点集合D=∪j=1,2,…,m{Dj},其中Dj表示编号为j的数据节点,m为数据节点的综述;
文件集:设文件集合F=∪i=1,2,...,n{fi},其中fi表示编号为i的文件,n为文件的总数;
文件属性:将每个文件定义为四元组fi=<ni,ui,si,hi>,分别表示文件名、用户名、文件大小以及文件热度,对文件fi访问请求到达的频率服从泊松分布;
数据节点属性:将存储系统中的单个数据节点定义为七元组Nj=<CPUj,Diskj,Memoryj,IOj,BWUpj,BW-Downj,DiskFreej>,分别表示CPU利用率、内存利用率、IO利用率、上传带宽利用率、下载带宽利用率以及磁盘空闲空间;
请求集:设请求集R=∪k=1,2,…,|R|{rk},其中rk代表编号为k的请求,|R|表示请求的个数;
请求属性:将读写文件请求rk定义为rk=∪k=1,2,…,|R|{fidk},其中fidk是rk所存储或访问的文件序列号;
在对上述多种指标进行加权评价处理时,采用层次分析法来实现各种指标从定性到定量的转化,得到指标所占的权重向量。
根据本发明的基于改进粒子群算法的动态副本放置方法的一实施例,其中,利用DRM动态副本控制算法平衡节点负载包括:根据最近数据的访问特征来预测未来数据块的访问热度,并且动态调整副本数目,当数据块访问增加成为热点时,动态增加副本数目,以提高数据访问效,如果数据块为冷数据,则动态删除最近访问频率最少的副本。
根据本发明的基于改进粒子群算法的动态副本放置方法的一实施例,其中,在副本运行阶段利用DRM动态副本控制算法平衡节点负载的算法包括:
a)初始化参数,设群体的规模为N,N为一批文件数,为每个文件随机指定一个合理的节点,则对应的矩阵为:
其中,{xij,i=1,2,...N,j=1,2,...,n}表示粒子i的位置为j,vij表示粒子i的速度,j和vij为[0,m]上满足均匀分布的随机数;
b)计算适应度,初始化历史最优,构造非支配集;节点性能的加权评价适应度函数为F=D×W;其中,D代表各个数据节点的各项指标:CPU、磁盘、I/O、内存以及带宽;W代表根据层次分析法得到的各项指标的权重,综合性能越高的节点,适应度越高;
c)从非支配集中选取前一部分放到gbestpool中,使用轮盘赌策略选取全局最优gbest;
d)根据速度和位置公式更新粒子速度和位置,并限制粒子速度和位置;
e)根据当前非支配集重新计算适应度;
f)判断非支配集是否满,若是则进行下一步,若否则执行i)。
g)维护非支配集。当外部归档集超过设定的大小时,先通过最小距离对外部归档集升序排列,再对已经排序的外部归档集的后80%按拥挤距离策略进行降序排列之后再保留预定的数目;
h)记录解集未更新次数;
i)判断是否达到结束条件,判断当前迭代次数是否达到指定代数,若否则重新计算惯性权重,返回c)。
根据本发明的基于改进粒子群算法的动态副本放置方法的一实施例,其中,数据副本状态包括数据单位时间内被访问的频率以及所需存储副本数量。
根据本发明的基于改进粒子群算法的动态副本放置方法的一实施例,其中,数据节点的性能包括CPU状态、内存状态、磁盘状态以及网络状态。
本发明的提供了一种基于突变惯性权证粒子群算法的动态副本放置方法,通过对惯性权重的突变计算来优化粒子群搜索最优解的过程,在搜索的早期使w较大,避免而陷入局部最优,随着迭代次数的增加w不断减小同时判断多样性指标和最优化更新次数,通过判定结果改变w的大小;在副本运行调整阶段,使用DRM动态副本控制算法,将根据在运行阶段中副本流量的冷、热程度调整副本的放置节点,以此来有效提高副本利用率。
附图说明
图1为层次分析法执行流程图;
图2为副本管理策略中负载均衡示意图;
图3所示为动态副本管理框架示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的基于改进粒子群算法的动态副本放置方法包括以下步骤:
(1)对系统提出访问请求确定分布式文件系统可用;
(2)统计周期内文件被访问的次数,计算副本访问频率和节点情况;
(3)根据文件的实际热度及理想热度的差值/理想热度得到α,综合负载均衡、响应延迟和存储开销等外在因素确定阈值β;
(4)利用文件实际热度与理想热度αi,当αi>β时,则相应的更改副本的数目,副本的数目利用公式计算;当αi<β时,则保持副本数目不变;
(5)若存储在远程节点,利用多目标粒子群算法与副本放置相结合的方式选取副本节点;
(6)在副本运行阶段利用DRM动态副本控制算法平衡节点负载。
对于一实施例,为了提高存储资源的利用率和数据文件的可靠性,应该综合考虑网络的访问性能、负载均衡、响应延迟和存储开销等方面,满足用户的动态需求,如放置副本时,需考虑是放置在本地还是远程放置,因此,可以说副本放置问题是综合多种因素进行求解优化的过程;数据副本状态包括数据单位时间内被访问的频率、所需存储副本数量;数据节点的性能包括CPU状态、内存状态、磁盘状态、网络状态。
对于初始寻优过程,将多目标粒子群算法与副本放置相结合,一个文件是由多个数据块多个副本构成的,虽然可以根据数据节点能力评价法得到每个机架中的最佳的几个数据节点,但在那几个机架中选择结构副本进行组合,使得得到的副本集在执行的效果上最好,保证系统的均衡上最优,是一种组合优化问题。
(1)定义粒子群算法与副本结合的原则为:
将鸟群的觅食过程抽象为副本放置的选择过程,路径抽象为解空间;
在移动的过程中,鸟群会向离食物最近的个体靠拢,最终向最优解聚集;
经过多次迭代,使鸟群向最优解聚集,最终达到目的地,完成对目标的放置,此时食物的位置就是目标放置的最优解。
在系统评价中,通常通过综合考虑节点当前的CPU状态、内存状态、磁盘状态、网络状态等指标,来衡量节点的优劣。
(2)针对副本选择问题构建数学模型,采用层次分析法对存储节点的评价指标进行从定性到定量的转化处理,利用AHP算法得到权重向量。
层次分析法是多属性决策中的重要方法,在关于离散的、有限个决策方法的决策问题上比较适用。因此,通过定性描述各个指标的额重要性,利用层次分析法将各个指标进行分层,利用数学方法得到各项指标的权值,完成从定性到定量的转化,其执行过程如图1所示。
数学描述如下:
数据节点集:设云存储系统中的数据节点集合D=∪j=1,2,…,m{Dj},其中Dj表示编号为j的数据节点,m为数据节点的综述。
文件集:设文件集合F=∪i=1,2,...,n{fi},其中fi表示编号为i的文件,n为文件的总数。
文件属性:将每个文件定义为四元组fi=<ni,ui,si,hi>,分别表示文件名、用户名、文件大小、文件热度。对文件fi访问请求到达的频率服从泊松(Poisson)分布。
数据节点属性:将存储系统中的单个数据节点定义为七元组Nj=<CPUj,Diskj,Memoryj,IOj,BWUpj,BW-Downj,DiskFreej),分别表示CPU利用率、内存利用率、IO利用率、上传带宽利用率、下载带宽利用率、磁盘空闲空间。
请求集:设请求集R=∪k=1,2,…,|R|{rk},其中rk代表编号为k的请求,|R|表示请求的个数。
请求属性:将读写文件请求rk定义为rk=∪k=1,2,…,|R|{fidk},其中fidk是rk所存储或访问的文件序列号。
在对上述多种指标进行加权评价处理时,采用层次分析法来实现各种指标从定性到定量的转化,得到指标所占的权重向量。
(3)副本管理策略中负载均衡是一个典型的NP问题,利用现有方法求得此类优化问题的解需要极大的时间消耗,所以本实施例利用多目标粒子群算法来搜索文件副本最佳位置,如图2。
具体步骤如下:
初始化参数。设群体的规模为N,N为一批文件数,为每个文件随机指定一个合理的节点,则对应的矩阵为
其中,{xij,i=1,2,...N,j=1,2,...,n}表示粒子i的位置为j,vij表示粒子i的速度,j和vij为[0,m]上满足均匀分布的随机数。
计算适应度,初始化历史最优,构造非支配集。节点性能的加权评价适应度函数为F=D×W。其中,D代表各个数据节点的各项指标:CPU、磁盘、I/O、内存、带宽;W代表根据层次分析法得到的各项指标的权重。综合性能越高的节点,适应度越高。
从非支配集中选取前一部分放到gbestpool中,使用轮盘赌策略选取全局最优gbest。
根据速度和位置公式更新粒子速度和位置,并限制粒子速度和位置。
根据当前非支配集重新计算适应度。
判断非支配集是否满,若是则进行下一步,若否则执行i)。
维护非支配集。当外部归档集超过设定的大小时,先通过最小距离对外部归档集升序排列,再对已经排序的外部归档集的后80%按拥挤距离策略进行降序排列之后再保留预定的数目。
记录解集未更新次数。
判断是否达到结束条件。判断当前迭代次数是否达到指定代数,若否则重新计算惯性权重,返回c)。
副本运行调整阶段
在存储系统运行期间,数据的访问率高度不规则。如果数据块访问量增加并成为热点数据,则将创建新的副本以保证负载均衡,并且在指定的时间内对客户端作出相应。在这里采用动态副本调整策略DRM,利用灰色预测技术,根据最近数据的访问特征来预测未来数据块的访问热度,并且动态调整副本数目。当数据块访问增加成为热点时,动态增加副本数目,以提高数据访问效率。如果数据块为冷数据,则动态删除最近访问频率最少的副本,来节省系统存储空间。
本发明基于改进粒子群算法的动态副本放置方法的实施例进一步包括:
1)副本状态,对于计算副本访问频率和节点,算法具体包括:
(1)定义文件的访问频率的公式为:
R表示整个系统中的副本个数,filer(f)表示高频率文件在副本r中频率的大小,用来表示文件在第t个时间周期内被请求访问的次数
(2)定义文件所应放置的副本的数量为公式:
2)对于利用多目标粒子群算法与副本放置相结合的方式选取副本节点的基于突变惯性权重的粒子群算法包括:
PSO的基本概念源于对鸟群行为的研究,鸟群在空间中随机搜寻食物,每只鸟都不知道食物的具体位置。此时,找寻食物的最有效方法就是搜寻目前离食物最近的鸟的周围区域。PSO从这种模型中得到启发并应用与解决最优化问题。在PSO中,每个优化问题的潜在解都是搜索空间中的一只鸟,将其称为“粒子”,问题的解空间对应于搜索空间粒子群。空间中所有的粒子都有一个被优化的问题决定的适应值,每个粒子还有一个速度决定它们飞翔的方向和距离,粒子群会追随着当前的最优粒子在解空间中搜索。PSO初始化为一群随机粒子也就是随机解,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个最优解来更新自己的位置。换句话说每个粒子会根据自己的飞行经验和同伴的飞行经验来调整自己的飞行状态。每个粒子在飞行过程所经历过的最好位置就是粒子本身找到的最优解。
粒子群算法的基本思想:用随机解初始化一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个最优解来更新自己,在找到两个最优解后,是粒子群算法的“加速”过程,每个粒子不断的改变自己在解空间中的速度,以尽可能的朝pbest和gbest所指向的区域“飞”行。
在算法中,设粒子的群体规模为N,第i(i=1,2,…,N)个粒子的位置表示为Xi,其中个体极值记为pBesti,其速度用Vi表示,群体的全局极值用gBesti表示。所以任一粒子i将根据下式更新自己的速度和位置:
其中c1,c2为常数称为学习因子,rand1和rand2是[0,1]上的随机数,w为惯性权重(inertia weight)。
表示粒子i第t时刻(或者迭代第t次后)的速度;
表示粒子i第t时刻(或者迭代第t次后)的位置;
w是保持原来速度的系数,称为惯性权重(inertia weight);
c1是反映粒子跟踪自己历史最优位置的权重系数,它表示粒子自身的认识,称为“认知因子”,一般设置为2;
c2是反映粒子跟踪群体最优位置的权重系数,它表示粒子自身的认识,称为“认知因子”,一般设置为2,c1和c2统称为加速因子;
rand1和rand2是[0,1]区间内均匀分布的随机数;
η是速度比例因子,以对速度变化进行限制,使之不至于过大,一般设置为1;
其他的参数还有:Vmax对粒子速度进行限制,Xmin和Xmax表示粒子群搜索空间的上下界。
根据公式可知,粒子的速度由三个部分构成:第一部分是对粒子之前飞行速度的继承,它是粒子目前的状态,具有自身开拓、扩大搜索空间、探索新的搜索区域的趋势而使算法具有全局优化能力;第二部分是“自我认知”(Congnition Modal),表示粒子自身之前的飞行经验对之后飞行方向的影响;第三部分是“社会认知”(Social Modal),表示种群中所有粒子的飞行经验对每个粒子之后飞行方向的影响。这三个部分共同决定了粒子的空间搜索能力。第一部分起到了平衡全局和局部搜索的作用。第二部分使粒子有了足够强的局部搜索能力。第三部分体现了粒子间的信息共享。
粒子群算法不能直接应用于多目标优化,而是需要一个转化过程,这个过程需要一个外部归档集保存非支配解,并且需要一个维护策略对外部归档集进行维护,还需要一定的策略选择全局最优和历史最优,最终得到的收敛性和多样性都较好的解集。轮盘赌算法、最小距离策略能使粒子群更好的收敛到最优曲线,拥挤策略能保证群体的多样性,算法结合三者优点以使群体的收敛性或多样性更好。
突变惯性权重改进策略
惯性权重拥有三点特性:(a)惯性权重可以确定可达域的步长,会影响可达域所能达到的范围,同时也控制着可达域的搜索精度;(b)惯性权重较大时可以增大对搜索空间的搜索,但是会使搜索精度减小,从而错过全局最优,甚至会使算法发散,导致无法搜索全局最优;(c)惯性权重较小时会提高算法的搜索精度,但是会增加所发的搜索时间,会导致早熟从而收敛至局部最优。
通过对惯性权重影响粒子群搜索空间的分析,采用动态的突变惯性权重,在搜索的早期w比较大,避免早熟而陷入局部最优,随着迭代次数的增加w不断减小同时判断多样性指标和最优为更新次数,并且通过判定结果改变w的大小。
w=Wmax-(wmax-wmin)*(t-1)/(Tmax-1)
具体思路如下:
if DP<dlow &&ft>fc//可能陷入局部最优
wmax=较大值(预设为3)
(w突然增大,考虑大于1,且使w急速衰减)
elseDP>dhigh
wmax=较小值(预设为0.6)
(w突然变小,且使w缓慢衰减)
else
wmax=不变
(初始wmax=0.9,wmin=0.1)
最小距离策略
对于多目标优化问题,我们都希望每个目标都能达到最优,可是每个目标又彼此约束,很难使每个目标都同时达到最优。此时,我们可以先找出每个目标的最优解,并且认为到该最优解距离越近的解就越优,我们将这种方法称为理想点法或者最小距离法。
轮盘赌选择策略
先计算n个适应值与所有个体适应值之和的比值,称为相对适应值,之后将一个轮盘分成n份,所占扇形的面积的比值表示每个个体的相对适应值。我们可以想象这样一个场景,在轮盘外围的扇区上押上筹码,转动轮盘,筹码所处轮盘扇区号不断变化,当轮盘停止时的扇区号即为本次选中的扇区。
算法伪代码:
拥挤距离策略
拥挤距离的计算:算法采用NSGA-Ⅱ中非劣解个体拥挤距离的计算方法,其基本思想是通过测量相邻个体作为顶点形成的长方形周长来得到拥挤距离。拥挤距离越长表明个体分布处的密度越低,解的多样性就越大;拥挤距离越短表明个体分布处的密度越高,解的多样性越小。
对于一个非支配集Archive,Archive[i,m](D为维数常值)代表第i个体粒子的第m个目标的函数值,Archive[i].distance表示第i个粒子的拥挤距离,参数和/>分别表非支配集中第m个目标的最大和最小函数值。非支配集Archive拥挤距离计算伪代码:
3)DRM动态副本控制算法包括:
动态副本管理框架如图3所示,将整个数据写入本地后,客户端通过可用性设置和块号联系NameNode.NameNode将文件名插入到文件系统层次结构中。NameNode使用每个块的列表,目标数据块和副本因子来相应客户机请求。然后客户端以流水线方式将每个数据块从本地临时文件刷新到指定的NameNode及副本到选定的NameNode。
系统运行期间,在数据节点不可达或者当前副本数小于最小副本数rmin的情况下,新副本将被动态的添加到数据节点以保证可用性要求。
算法伪代码如下:
本发明针对现有的副本放置方法对节点选取以及效率的不足,提出的一种改进的副本放置方法。与现有技术相比,本发明是在基于突变惯性权重的多目标进化算法之上将粒子群算法与副本放置结合在一起,利用外部归档集、突变惯性权重以及轮盘赌策略解决了传统粒子群算法易陷入局部最优的特点,使算法能够结合副本特性及节点情况合理为副本分配放置节点。并且结合DRM算法适应动态变化的数据访问和节点性能,解决节点负载不均衡的问题,最终实现副本的数量和位置的调整和优化。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (7)

1.一种基于改进粒子群算法的动态副本放置方法,其特征在于,包括:
(1)对系统提出访问请求确定分布式文件系统可用;
(2)统计周期内文件被访问的次数,计算副本访问频率和节点情况;
(3)根据文件的实际热度及理想热度的差值/理想热度得到α,综合负载均衡、响应延迟和存储开销确定阈值β;
(4)当α>β时,则相应的更改副本的数目,副本的数目利用公式计算;当α<β时,则保持副本数目不变;
(5)对于远程节点,利用多目标粒子群算法与副本放置相结合的方式选取副本节点;
(6)在副本运行阶段利用DRM动态副本控制算法平衡节点负载;
在副本运行阶段利用DRM动态副本控制算法平衡节点负载的算法包括:
a)初始化参数,设群体的规模为N,N为一批文件数,为每个文件随机指定一个合理的节点,则对应的矩阵为:
其中,{xij,i=1,2,...N,j=1,2,...,n}表示粒子i的位置为j,vij表示粒子i的速度,j和vij为[0,m]上满足均匀分布的随机数;m为数据节点的总数;
b)计算适应度,初始化历史最优,构造非支配集;节点性能的加权评价适应度函数为F=D×W;其中,D代表各个数据节点的各项指标:CPU、磁盘、I/O、内存以及带宽;W代表根据层次分析法得到的各项指标的权重,综合性能越高的节点,适应度越高;
c)从非支配集中选取前一部分放到gbestpool中,使用轮盘赌策略选取全局最优gbest;
d)根据速度和位置公式更新粒子速度和位置,并限制粒子速度和位置;
e)根据当前非支配集重新计算适应度;
f)判断非支配集是否满,若是则进行下一步,若否则执行i);
g)维护非支配集;当外部归档集超过设定的大小时,先通过最小距离对外部归档集升序排列,再对已经排序的外部归档集的后80%按拥挤距离策略进行降序排列之后再保留预定的数目;
h)记录解集未更新次数;
i)判断是否达到结束条件,判断当前迭代次数是否达到指定代数,若否则重新计算惯性权重,返回c)。
2.如权利要求1所述的基于改进粒子群算法的动态副本放置方法,其特征在于,通过综合考虑节点当前的CPU状态、内存状态、磁盘状态以及网络状态指标,来衡量节点的优劣。
3.如权利要求1所述的基于改进粒子群算法的动态副本放置方法,其特征在于,对于选取副本节点:
构建数学模型,采用层次分析法对存储节点的评价指标进行从定性到定量的转化处理,利用AHP算法得到权重向量;
通过定性描述各个指标的额重要性,利用层次分析法将各个指标进行分层,利用数学方法得到各项指标的权值,完成从定性到定量的转化。
4.如权利要求3所述的基于改进粒子群算法的动态副本放置方法,其特征在于,利用数学方法得到各项指标的权值,完成从定性到定量的转化,包括:
数据节点集:设云存储系统中的数据节点集合D=Uj=1,2,…,m{Dj},其中Dj表示编号为j的数据节点,m为数据节点的总数;
文件集:设文件集合F=Ui=1,2,...,n{fi},其中fi表示编号为i的文件,n为文件的总数;
文件属性:将每个文件定义为四元组fi=<ni,ui,si,hi>,分别表示文件名、用户名、文件大小以及文件热度,对文件fi访问请求到达的频率服从泊松分布;
数据节点属性:将存储系统中的单个数据节点定义为七元组Nj=<CPUj,Diskj,Memoryj,IOj,BWUpj,BW-Downj,DiskFreej>,分别表示CPU利用率、磁盘利用率、内存利用率、IO利用率、上传带宽利用率、下载带宽利用率以及磁盘空闲空间;
请求集:设请求集R=Uk=1,2,…,|R|{rk},其中rk代表编号为k的请求,|R|表示请求的个数;
请求属性:将读写文件请求rk定义为rk=Uk=1,2,…,|R|{fidk},其中fidk是rk所存储或访问的文件序列号;
在对上述多种指标进行加权评价处理时,采用层次分析法来实现各种指标从定性到定量的转化,得到指标所占的权重向量。
5.如权利要求1所述的基于改进粒子群算法的动态副本放置方法,其特征在于,利用DRM动态副本控制算法平衡节点负载包括:根据最近数据的访问特征来预测未来数据块的访问热度,并且动态调整副本数目,当数据块访问增加成为热点时,动态增加副本数目,以提高数据访问效,如果数据块为冷数据,则动态删除最近访问频率最少的副本。
6.如权利要求1所述的基于改进粒子群算法的动态副本放置方法,其特征在于,数据副本状态包括数据单位时间内被访问的频率以及所需存储副本数量。
7.如权利要求1所述的基于改进粒子群算法的动态副本放置方法,其特征在于,数据节点的性能包括CPU状态、内存状态、磁盘状态以及网络状态。
CN201911391584.9A 2019-12-30 2019-12-30 一种基于改进粒子群算法的动态副本放置方法 Active CN111124762B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911391584.9A CN111124762B (zh) 2019-12-30 2019-12-30 一种基于改进粒子群算法的动态副本放置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911391584.9A CN111124762B (zh) 2019-12-30 2019-12-30 一种基于改进粒子群算法的动态副本放置方法

Publications (2)

Publication Number Publication Date
CN111124762A CN111124762A (zh) 2020-05-08
CN111124762B true CN111124762B (zh) 2023-11-14

Family

ID=70504640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911391584.9A Active CN111124762B (zh) 2019-12-30 2019-12-30 一种基于改进粒子群算法的动态副本放置方法

Country Status (1)

Country Link
CN (1) CN111124762B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100448B (zh) * 2020-08-07 2023-09-26 中山大学 基于动态规划的有向无环图比对方法、模块及系统
CN111966495B (zh) * 2020-08-21 2022-02-01 内蒙古工业大学 数据处理方法和装置
CN114650296B (zh) * 2020-12-18 2023-03-24 中国科学院声学研究所 一种信息中心网络副本选择方法
CN113157431B (zh) * 2021-02-02 2022-09-20 天津理工大学 一种针对边缘网络应用环境的计算任务副本分发方法
CN113343380B (zh) * 2021-05-31 2022-09-09 温州大学 基于多目标粒子群算法的强迫风冷散热器优化方法及系统
CN113849457B (zh) * 2021-08-25 2024-04-05 湘潭大学 一种基于神经网络的多数据中心动态副本放置方法
CN113703688B (zh) * 2021-09-20 2024-03-15 安徽丰合佳行信息技术有限公司 一种基于大数据和文件热度的分布式存储节点负载调整方法
CN114205416B (zh) * 2021-10-27 2024-03-12 北京旷视科技有限公司 资源缓存方法、装置、电子设备和计算机可读介质
CN114064281A (zh) * 2021-11-22 2022-02-18 重庆邮电大学 一种基于BFD-VNS算法的低成本Spark执行器放置方法
CN115544377B (zh) * 2022-11-25 2023-04-07 浙江星汉信息技术股份有限公司 基于云端存储的档案的热度评估和更新方法
CN116028478A (zh) * 2023-02-13 2023-04-28 山东英信计算机技术有限公司 一种人工智能平台的数据集管理方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648456A (zh) * 2016-09-18 2017-05-10 重庆邮电大学 基于用户访问量以及预测机制的动态副本文件访问方法
CN107330005A (zh) * 2017-06-13 2017-11-07 安徽大学 面向用户极致体验的社交网络数据放置方法
CN107491341A (zh) * 2017-08-31 2017-12-19 福州大学 一种基于粒子群优化的虚拟机分配方法
CN107770259A (zh) * 2017-09-30 2018-03-06 武汉理工大学 基于文件热度和节点负载的副本数量动态调整方法
CN108469983A (zh) * 2018-04-02 2018-08-31 西南交通大学 一种云环境下的基于粒子群算法的虚拟机部署方法
CN109582027A (zh) * 2019-01-14 2019-04-05 哈尔滨工程大学 一种基于改进粒子群优化算法的usv集群避碰规划方法
KR101986054B1 (ko) * 2018-08-21 2019-06-04 인하대학교 산학협력단 다중 채널을 사용하는 인지 무선 네트워크에서 센싱 간격의 설정 및 pso 기반의 동적 자원 할당 방법 및 시스템
CN110312209A (zh) * 2019-08-12 2019-10-08 航天科工网络信息发展有限公司 一种定位信息辅助的移动自组织网路由方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648456A (zh) * 2016-09-18 2017-05-10 重庆邮电大学 基于用户访问量以及预测机制的动态副本文件访问方法
CN107330005A (zh) * 2017-06-13 2017-11-07 安徽大学 面向用户极致体验的社交网络数据放置方法
CN107491341A (zh) * 2017-08-31 2017-12-19 福州大学 一种基于粒子群优化的虚拟机分配方法
CN107770259A (zh) * 2017-09-30 2018-03-06 武汉理工大学 基于文件热度和节点负载的副本数量动态调整方法
CN108469983A (zh) * 2018-04-02 2018-08-31 西南交通大学 一种云环境下的基于粒子群算法的虚拟机部署方法
KR101986054B1 (ko) * 2018-08-21 2019-06-04 인하대학교 산학협력단 다중 채널을 사용하는 인지 무선 네트워크에서 센싱 간격의 설정 및 pso 기반의 동적 자원 할당 방법 및 시스템
CN109582027A (zh) * 2019-01-14 2019-04-05 哈尔滨工程大学 一种基于改进粒子群优化算法的usv集群避碰规划方法
CN110312209A (zh) * 2019-08-12 2019-10-08 航天科工网络信息发展有限公司 一种定位信息辅助的移动自组织网路由方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive mutation particle swarm algorithm with dynamic nonlinear changed inertia weight;H.T.Liang;《Optik》;20161031;第127卷(第19期);第8036-8042页 *
云存储环境下QoS感知的副本放置算法;张鸿 等;《小型微型计算机系统》;20160930;第37卷(第9期);第1915-1919页 *

Also Published As

Publication number Publication date
CN111124762A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111124762B (zh) 一种基于改进粒子群算法的动态副本放置方法
CN107404523A (zh) 云平台自适应资源调度系统和方法
CN111124689A (zh) 一种集群中容器资源动态分配方法
US8886804B2 (en) Method for making intelligent data placement decisions in a computer network
JP2023536693A (ja) 階層マッピングに基づくCephストレージシステムの自動均等化ストレージ方法
CN109033298A (zh) 一种在异构hdfs集群下的数据分配方法
CN111553469A (zh) 一种无线传感器网络数据融合方法、装置和存储介质
CN111737168B (zh) 一种缓存系统、缓存处理方法、装置、设备及介质
Nannai John et al. A novel dynamic data replication strategy to improve access efficiency of cloud storage
CN103902260A (zh) 一种对象文件系统的预取方法
US20200348875A1 (en) Method and system for proactive data migration across tiered storage
CN111858469A (zh) 一种基于时间滑动窗口的自适应分级存储的方法
CN114611572A (zh) 基于改进rbf神经网络的数据分级存储算法
CN111966495A (zh) 数据处理方法和装置
CN107370807B (zh) 基于透明服务平台数据访问的服务端及其缓存优化方法
CN117453123A (zh) 一种基于强化学习的数据分类存储方法及其设备
Wang et al. SD-SRF: An intelligent service deployment scheme for serverless-operated cloud-edge computing in 6G networks
CN114048186A (zh) 一种基于海量数据的数据迁移方法及系统
Liu et al. Learning-based adaptive data placement for low latency in data center networks
Tatarnikova et al. Algorithms for placing files in tiered storage using Kohonen map
CN109919219A (zh) 一种基于粒计算ML-kNN的Xgboost多视角画像构建方法
CN113704220A (zh) 一种基于LSTM和遗传算法的Ceph参数调优方法
CN111506394B (zh) 一种Docker Swarm容器调度方法及调度系统
CN108256694A (zh) 基于重复遗传算法的模糊时间序列预测系统、方法及装置
Kaler et al. Deep Reinforcement Learning based Data Placement optimization in Data Center Networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant