一种基于智能启发式算法的分布式存储系统调度方法技术方案

技术编号:23763786 阅读:60 留言:0更新日期:2020-04-11 18:46
本发明专利技术揭示了一种基于智能启发式算法的分布式存储系统调度方法,包括存储节点上线,调度节点下发租约至存储节点;获取存储节点各项运行指标,并通过智能启发式算法对选择符合条件的存储节点进行排序,生成双候选队列;调度节点接收客户端的任务请求,进一步从双候选队列中选择合适的存储节点,并将任务请求下发至被选择的存储节点执行;判断客户端执行任务请求是否成功,若成功,则返回成功信息至调度节点,否则,调度节点继续从双候选队列中选择合适的存储节点执行任务请求。本发明专利技术能够提高调度效率的同时极大降低了任务执行时间。

A scheduling method of distributed storage system based on Intelligent Heuristic Algorithm

【技术实现步骤摘要】
一种基于智能启发式算法的分布式存储系统调度方法
本专利技术涉及存储
,尤其是涉及一种基于智能启发式算法的分布式存储系统调度方法。
技术介绍
最近几年来,分布式存储系统成为了存储领域的热点,而在分布式系统中重要的组成部分就是调度系统,分布式调度的两大任务:任务调度和资源调度。任务调度处理大量的计算任务如何切分、数据如何分割运算、监控运算状态等;资源调度负责供给方、不同业务间的平衡资源、支持优先级抢占等。而在资源调度方面,是一个非确定性的多项式问题,而传统的资源调度时调度效率低的问题,因此,继续一种解决分布式存储系统资源调度效率低下的问题的方法。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种基于智能启发式算法的分布式存储系统调度方法,提高调度效率的同时极大降低了任务执行时间。为实现上述目的,本专利技术提出如下技术方案:一种基于智能启发式算法的分布式存储系统调度方法,包括如下步骤:步骤S100,存储节点上线,调度节点下发租约至存储节点;步骤S200,获取存储节点各项运行指标,并通过智能启发式算法对选择符合条件的存储节点进行排序,生成双候选队列;步骤S300,调度节点接收客户端的任务请求,进一步从双候选队列中选择合适的存储节点,并将任务请求下发至被选择的存储节点执行;步骤S400,判断客户端执行任务请求是否成功,若成功,则返回任务执行成功信息至调度节点,否则,调度节点继续从双候选队列中选择合适的存储节点执行任务请求。优选地,调度节点下发租约包括如下步骤:步骤S101,调度节点获取存储节点租约请求;步骤S102,调度节点判断存储节点是否存在于租约表中,若存在,则执行步骤S103,否则,否则,直接创建新的租约并添加至租约表中,进一步将租约下发至该存储节点;步骤S103,从租约表中删除该存储节点,创建新的租约并添加至租约表中,进一步将租约下发至该存储节点优选地,所述双候选队列包括调度队列和候选队列,所述双候选队列的生成包括如下步骤:步骤S201,根据模拟退火算法,从调度节点的租约表中选择合适的N个存储节点,形成初始化存储节点集合;步骤S202,判断调度队列是否存在,若不存在,则执行步骤S203,否则,直接检查候选队列是否满队列,并在不满队列时从初始化存储节点集合中选择合适的存储节点放入候选队列中,直至候选队列满队列,并对候选队列中的存储节点进行排序;步骤S203,从初始化存储节点集合中选择第一预设数量的存储节点放入调度队列中,进一步再从初始化存储节点集合中选择第二预设数量的存储节点放入候选队列中,对调度队列和候选队列中的存储节点分别进行排序。优选地,在步骤S300中,存储节点的选择包括如下步骤:步骤S301,获取调度队列和候选队列的存储节点数据,调度队列中存储节点个数减一后,告知存储节点并判断是否接收到存储节点返回的确认消息,若是,将任务请求下发至被选择的存储节点执行,否则,执行步骤S302;步骤S302,判断调度队列是否为空,并在调度队列为空时进一步判断候选队列是否为空,若候选队列不为空,则从候选队列选择存储节点,候选队列中存储节点个数减少,并将任务请求下发至被选择的存储节点执行,若候选队列为空,则通过模拟退火向候选队列中添加存储节点。优选地,在步骤S400中,任务请求执行成功后,还需执行如下步骤:步骤S401,计算调度队列中存储节点的个数,进一步判断候选队列中存储节点的个数是否大于调度队列中所需的存储节点个数,若是,则从候选队列中获取所需要的存储节点放入调度队列中,否则,执行步骤S402;步骤S402,通过模拟退火算法,向候选队列和调度队列中添加存储节点并重启任务请求,进一步从候选队列中获取所需要的存储节点放入调度队列中。优选地,还包括:步骤S500,调度节点接收存储节点的冗余备份或删除请求,调度节点根据冗余备份或删除请求选择合适的存储节点执行文件备份或文件删除。优选地,在步骤S500中,冗余备份包括:获取待备份文件的编号,及存储待备份文件的存储节点的编号,并计算待备份文件在备份表中执行备份的次数;判断待备份文件的编号是否存在于备份表中,若存在,则进一步判断执行备份的次数加一后是否大于第一预设值,并在小于第一预设值时执行文件备份,若不存在,则选择最远最优的存储节点进行备份。优选地,删除文件包括:获取待删除文件的编号,及存储待删除文件的存储节点的编号,并计算待删除文件在删除表中执行删除的次数;判断待删除文件的编号是否存在于删除表中,若存在,则进一步判断执行删除的次数加一后是否大于第二预设值,并在小于第二预设值时执行文件删除,若不存在,则选择距离请求的存储节点最近最优的存储节点执行删除任务。优选地,在步骤S500中,对备份表和删除表进行周期性删除,并且每次删除备份表及删除表的前一半数据。优选地,删除表的周期性删除时间大于备份表的周期性删除时间。本专利技术的有益效果是:(1)通过使用双候选队列,当调度任务到达时,直接从双候选队列中一次选择存储节点即可,极大的减少寻找时间,降低任务执行时间。(2)通过模拟退火算法选择存储节点,将存储节点排序存入候选节点,并有效解决冗余备份与冲突问题。附图说明图1是本专利技术的调度节点整体流程示意图;图2是本专利技术的租约下发流程图示意图;图3是本专利技术的周期性检查租约流程图示意图;图4是本专利技术的双候选队列生成流程图示意图;图5是本专利技术的任务调度流程图示意图;图6是本专利技术的备份与删除文件流程图示意图;图7是本专利技术的周期性删除备份表或删除表流程图示意图。具体实施方式下面将结合本专利技术的附图,对本专利技术实施例的技术方案进行清楚、完整的描述。本专利技术所揭示的一种基于智能启发式算法的分布式存储系统调度方法,通过基于智能启发式算法进行存储节点排序,进而建立双候选队列,调度节点在接收任务请求后从双候选队列选择存储节点,并下发任务请求至选择的存储节点执行,提高调度效率的同时极大降低了任务执行时间。结合图1~图7所示,本专利技术所述的一种基于智能启发式算法的分布式存储系统调度方法,包括如下步骤:步骤S100,存储节点上线,调度节点下发租约至存储节点;具体地,如图2所示,存储节点上线后,调度节点需向存储节点下发租约。下发租约时,调度节点首先获取存储节点租约请求,进一步判断租约表中是否存在该存储节点,实施时,可通过判断租约表中是否存在存储节点的编号(ID)片段存储节点是否存在租约表中。若租约表中存在该存储节点,则从租约表中删除该存储节点,创建新的租约并添加至租约表中,进一步将租约下发至该存储节点;然而,当租约表中不存在该存储节点时,直接创建新的租约并添加至租约表中,进一步将租约下发至该存储节点。实施时,进一步地,如图3所示,为了使调度节点在调度时可灵活的本文档来自技高网...

【技术保护点】
1.一种基于智能启发式算法的分布式存储系统调度方法,其特征在于,包括如下步骤:/n步骤S100,存储节点上线,调度节点下发租约至存储节点;/n步骤S200,获取存储节点各项运行指标,并通过智能启发式算法对选择符合条件的存储节点进行排序,生成双候选队列;/n步骤S300,调度节点接收客户端的任务请求,进一步从双候选队列中选择合适的存储节点,并将任务请求下发至被选择的存储节点执行;/n步骤S400,判断客户端执行任务请求是否成功,若成功,则返回任务执行成功信息至调度节点,否则,调度节点继续从双候选队列中选择合适的存储节点执行任务请求。/n

【技术特征摘要】
1.一种基于智能启发式算法的分布式存储系统调度方法,其特征在于,包括如下步骤:
步骤S100,存储节点上线,调度节点下发租约至存储节点;
步骤S200,获取存储节点各项运行指标,并通过智能启发式算法对选择符合条件的存储节点进行排序,生成双候选队列;
步骤S300,调度节点接收客户端的任务请求,进一步从双候选队列中选择合适的存储节点,并将任务请求下发至被选择的存储节点执行;
步骤S400,判断客户端执行任务请求是否成功,若成功,则返回任务执行成功信息至调度节点,否则,调度节点继续从双候选队列中选择合适的存储节点执行任务请求。


2.根据权利要求1所述的方法,其特征在于,调度节点下发租约包括如下步骤:
步骤S101,调度节点获取存储节点租约请求;
步骤S102,调度节点判断存储节点是否存在于租约表中,若存在,则执行步骤S103,否则,直接创建新的租约并添加至租约表中,进一步将租约下发至该存储节点;
步骤S103,从租约表中删除该存储节点,创建新的租约并添加至租约表中,进一步将租约下发至该存储节点。


3.根据权利要求1所述的方法,其特征在于,所述双候选队列包括调度队列和候选队列,所述双候选队列的生成包括如下步骤:
步骤S201,根据模拟退火算法,从调度节点的租约表中选择合适的N个存储节点,形成初始化存储节点集合,N为整数;
步骤S202,判断调度队列是否存在,若不存在,则执行步骤S203,否则,直接检查候选队列是否满队列,并在不满队列时从初始化存储节点集合中选择合适的存储节点放入候选队列中,直至候选队列满队列,并对候选队列中的存储节点进行排序;
步骤S203,从初始化存储节点集合中选择第一预设数量的存储节点放入调度队列中,进一步再从初始化存储节点集合中选择第二预设数量的存储节点放入候选队列中,对调度队列和候选队列中的存储节点分别进行排序。


4.根据权利要求1所述的方法,其特征在于,在步骤S300中,存储节点的选择包括如下步骤:
步骤S301,获取调度队列和候选队列的存储节点数据,调度队列中存储节点个数减一后,告知存储节点并判断是否接收到存储节点返回的确认消息,若是,将任务请求下发至被选择的存储节点执行,否则,执行步骤S302;

【专利技术属性】
技术研发人员:郑朝晖王健翔江婧婷
申请(专利权)人:上海海加网络科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1