[发明专利]任务调度的方法及装置、分布式任务执行系统有效
申请号: | 201710657131.0 | 申请日: | 2017-08-03 |
公开(公告)号: | CN107291544B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 杨照通 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F16/951;H04L29/08 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 装置 分布式 执行 系统 | ||
本发明提供了任务调度的方法及装置、分布式任务执行系统,该方法,包括:当接收到请求节点发来的任务请求时,执行:确定每个任务的当前任务规模;确定执行每个所述任务的节点的当前第一数量;根据每个所述任务的当前任务规模和每个所述任务对应的所述当前第一数量,确定每个所述任务的当前权重;按照每个所述任务的当前权重,为所述请求节点分配目标任务。本发明提供了任务调度的方法及装置、分布式任务执行系统,能够提高工作效率。
技术领域
本发明涉及计算机技术领域,特别涉及任务调度的方法及装置、分布式任务执行系统。
背景技术
随着互联网信息的急速膨胀,以及大数据行业的飞速发展,各项和互联网数据有关的服务逐渐增多,互联网数据在很多方面都得到了广泛应用。这些互联网数据,一般通过分布式爬虫来获取。
在利用分布式爬虫获取互联网数据时,一般按照以下方式进行任务调度:为每个任务分配同样数量的节点,由各个节点完成数据采集。举例来说,在整个系统中有10个节点,有两个任务需要处理,任务1需要下载1个链接中的数据,任务2需要下载100个链接中的数据,按照现有的任务调度的方案,为任务1分配5个节点,为任务2分配5个节点。
通过上述描述可见,现有的任务调度的方案中,需要下载的链接数量较多的大任务与需要下载的链接数量较少的小任务被分配的节点的数量是相同,造成小任务能够较快的完成,而大任务却需要消耗大量时间,整个采集过程的工作效率较低。
发明内容
本发明实施例提供了任务调度的方法及装置、分布式任务执行系统,能够提高工作效率。
第一方面,本发明实施例提供了一种任务调度的方法,包括:
当接收到请求节点发来的任务请求时,执行:
确定每个任务的当前任务规模;
确定执行每个所述任务的节点的当前第一数量;
根据每个所述任务的当前任务规模和每个所述任务对应的所述当前第一数量,确定每个所述任务的当前权重;
按照每个所述任务的当前权重,为所述请求节点分配目标任务。
进一步地,
所述确定每个任务的当前任务规模,包括:
确定每个所述任务中当前等待下载的链接的当前第二数量;
所述根据每个所述任务的当前任务规模和每个所述任务对应的所述当前第一数量,确定每个所述任务的当前权重,包括:
根据所述当前第一数量和所述当前第二数量,利用公式一确定每个所述任务的当前权重,其中,所述公式一为:
其中,Wi为第i个任务的当前权重,Ni为第i个任务的当前第一数量,Li为第i个任务的当前第二数量,a大于1。
进一步地,该方法进一步包括:预先设置已发送队列和任务队列;
在所述按照每个所述任务的当前权重,为所述请求节点分配目标任务之后,进一步包括:
将所述目标任务中当前等待下载的至少一个链接保存到所述任务队列中;
进一步包括:
当所述请求节点从所述任务队列中获取至少一个待处理链接时,将所述至少一个待处理链接转移到所述已发送队列中;
进一步包括:
当接收到所述请求节点发来的处理完成信号时,将所述处理完成信号对应的所述待处理链接从所述已发送队列中删除;
进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710657131.0/2.html,转载请声明来源钻瓜专利网。