[发明专利]任务分配方法、装置、电子设备及计算机可读介质有效
申请号: | 202010480927.5 | 申请日: | 2020-05-30 |
公开(公告)号: | CN111625364B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 吕德超;张相龙 | 申请(专利权)人: | 抖音视界有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F16/27 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 郭曼 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 分配 方法 装置 电子设备 计算机 可读 介质 | ||
1.一种任务分配方法,其特征在于,包括:
接收任务集群中的多个设备节点中的一个发送的任务分配请求;其中,所述任务集群包括多个所述设备节点和虚拟节点,各所述虚拟节点与所述设备节点绑定;当所述设备节点接收到新任务时,发出所述任务分配请求;
根据所述任务分配请求将所述新任务分配到预设数量的虚拟节点中;
将所述虚拟节点上的所述新任务分配到与所述虚拟节点绑定的所述设备节点上;
在接收任务集群中的多个设备节点中的一个发送的任务分配请求之前,还包括:接收所述任务集群中的设备节点发送的节点注册请求;
根据所述节点注册请求确定所述设备节点的第一键值对,并将所述第一键值对同步至预设数据库中;
获取所述集群的节点信息,基于所述节点信息确定所述预设数据库中的第二键值对。
2.根据权利要求1所述的任务分配方法,其特征在于,所述第一键值对用于表示该设备节点在所述任务集群中的编号信息和所述设备节点的运行状态;所述节点信息包括设备节点数量、设备节点工作状态;所述第二键值对的值包括用于表示所述任务集群版本信息的版本号和所述任务集群中设备节点数量的设备节点总数。
3.根据权利要求2所述的方法,其特征在于,当所述第二键值对不存在时,所述根据所述节点信息确定所述预设数据库中的第二键值对,还包括:
根据所述节点信息创建并初始化所述第二键值对,将所述第二键值对存储在所述预设数据库中。
4.根据权利要求1所述的方法,其特征在于,所述根据所述任务分配请求将所述新任务分配到预设数量的虚拟节点上,包括:
根据所述任务分配请求获取所述虚拟节点的数量;
根据所述虚拟节点的数量将所述新任务通过哈希算法分配到所述虚拟节点中。
5.根据权利要求1所述的方法,其特征在于,所述将所述虚拟节点上的待分配任务分配到与所述虚拟节点绑定的所述设备节点上,包括:
获取任务集群中设备节点的数量;
根据所述设备节点的数量将分配到所述新任务的虚拟节点通过哈希算法与所述设备节点绑定,并将所述虚拟节点上的任务分配到与所述虚拟节点对应的设备节点上。
6.根据权利要求2所述的任务分配方法,其特征在于,还包括:
监听所述节点信息是否发生变化;响应于所述节点信息变化,回收各设备节点待完成任务,并基于所述变化后的节点信息重分配所述待完成任务。
7.根据权利要求6所述的任务分配方法,其特征在于,所述监听所述节点信息是否发生变化包括:
所述多个设备节点中的每一个周期性触发节点变更查询,所述节点变更查询包括:
当前查询节点获取多个所述节点中每一个的所述第一键值对,判断多个所述节点中每一个的所述第一键值对的值是否连续;
响应于不连续,确定所述节点信息变化,获取所述第二键值对,并更新所述第二键值对中的所述节点总数为当前节点总数;
更新所述当前查询节点中存储的节点总数。
8.根据权利要求7所述的任务分配方法,其特征在于,所述节点变更查询还包括:
响应于连续,判断多个所述第一键值对中值的最小值是否为排序起始值;
响应于不为排序起始值,将多个所述第一键值对中值的最大值变更为排序起始值;
循环执行所述节点变更查询,直至所述多个所述第一键值对中的值连续且最小值为排序起始值。
9.根据权利要求8所述的任务分配方法,其特征在于,所述节点变更查询还包括:
响应于所述多个第一键值对中的值连续且最小值为1,判断多个所述第一键值对中的最大值是否等于所述当前查询节点中存储的节点总数;
响应于所述最大值大于所述存储的节点总数,确定所述节点信息变化,获取所述第二键值对,并更新所述第二键值对中的节点总数与所述最大值一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于抖音视界有限公司,未经抖音视界有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010480927.5/1.html,转载请声明来源钻瓜专利网。