[发明专利]一种系统任务分配方法在审
| 申请号: | 201510650371.9 | 申请日: | 2015-10-09 |
| 公开(公告)号: | CN105159783A | 公开(公告)日: | 2015-12-16 |
| 发明(设计)人: | 黄建 | 申请(专利权)人: | 上海瀚之友信息技术服务有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 上海申新律师事务所 31272 | 代理人: | 俞涤炯 |
| 地址: | 200003 上海市黄*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 系统 任务 分配 方法 | ||
技术领域
本发明涉及分布式系统技术领域,尤其涉及一种系统任务分配方法。
背景技术
在分布式系统中存在多个运算节点,以及结构复杂、数量众多的系统任务。现有的任务分配方法无法按照使用者设定的方式灵活地分配任务,不同的系统任务之间若存在相互依赖关系(例如父任务的输出为子任务的输入),则现有技术中无法针对这些任务进行关联性分配,同时存在运算系统可用性较差,可维护性不佳等问题。
发明内容
根据现有技术中存在的问题,现提供一种系统任务分配方法,旨在解决传统的多任务-多运算节点模式下任务分配非常混乱,无法很好地分配和执行链式任务等问题。
上述技术方案具体包括:
一种系统任务分配方法,适用于分布式运算系统,所述分布式运算系统包括多个运算端;其中,包括一分别与每个所述运算端连接的控制端,还包括:
步骤S1,根据外部输入的配置指令,在所述控制端内配置不同的系统任务的属性,以及所述系统任务之间的依赖关系;
步骤S2,所述控制端依照不同的所述系统任务之间的依赖关系构造形成包括所有所述系统任务的任务关系树;
步骤S3,所述控制端遍历所述任务关系树,以将所有所述系统任务按照对应的遍历顺序放入一执行队列中;
步骤S4,所述控制端依照所述遍历顺序依次读取所述执行队列中的所有所述系统任务,并将关联于每个所述系统任务的所述属性下发至对应的所述运算端进行运算。
优选的,该系统任务分配方法,其中,所述步骤S1中,关联于所述系统任务的属性包括:
关联于所述系统任务的任务参数;和/或
关联于所述系统任务的程序代码的存储地址;和/或
关联于所述系统任务的任务名称;和/或
具有所述依赖关系的所述系统任务的执行状况。
优选的,该系统任务分配方法,其中,所述步骤S1中,提供一连接所述控制端的配置端,以供使用者向所述控制端输入所述配置指令。
优选的,该系统任务分配方法,其中,所述任务关系树中的每个节点关联于一个所述系统任务的所有所述属性。
优选的,该系统任务分配方法,其中,所述步骤S3中,所述控制端采用广度优先遍历方式对所述任务关系树进行遍历;
则所述遍历顺序为广度优先的遍历顺序。
优选的,该系统任务分配方法,其中,所述步骤S4中,所述运算端将被执行的所述系统任务的执行状况反馈至所述控制端,所述控制端将所述执行状况作为具有所述依赖关系的所述系统任务的所述属性并保存于所述执行队列中。
优选的,该系统任务分配方法,其中,所述步骤S4具体包括:
步骤S41,所述控制端按照所述遍历顺序获取所述执行队列中的一个所述系统任务并送入一执行线程中;
步骤S42,所述控制端判断被获取的所述系统任务是否为所述执行队列中的第一个所述系统任务:
若是,则所述控制端采用所述执行线程,将所述系统任务下发至对应的所述运算端执行;
步骤S43,所述控制端根据关联于被获取的所述系统任务的所述属性,判断关联于所述系统任务的父任务是否已经执行完成:
若是,则所述控制端采用所述执行线程,将所述系统任务下发至对应的所述运算端执行;
步骤S44,所述控制端判断所述执行队列中是否存在尚未被执行的所述系统任务:
若否,则所述控制端将所述系统任务送入一缓冲队列中,随后返回所述步骤S41;
若是,则在经过预设的时间后返回所述步骤S43。
优选的,该系统任务分配方法,其中,所述步骤S42中,若判断被获取的所述系统任务为所述执行队列中的第一个所述系统任务后,所述控制端在将所述系统任务下发至对应的所述运算端执行的同时,从所述缓冲队列中提取一个所述系统任务并放入所述执行队列中。
优选的,该系统任务分配方法,其中,所述步骤S42中,若判断被获取的所述系统任务为所述执行队列中的第一个所述系统任务后,所述控制端将所述系统任务下发至对应的所述运算端执行,并继续执行下述步骤:
所述控制端根据所述运算端反馈的关联于所述系统任务的执行结果判断所述系统任务是否执行成功:
若是,则所述控制端将所述系统任务的执行状况设定为用于表示执行成功的第一标记,并将所述执行状况作为所述系统任务的所述属性反馈至所述执行队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海瀚之友信息技术服务有限公司,未经上海瀚之友信息技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510650371.9/2.html,转载请声明来源钻瓜专利网。





