任务分配方法、装置、设备和计算机可读存储介质.pdf
《任务分配方法、装置、设备和计算机可读存储介质.pdf》由会员分享,可在线阅读,更多相关《任务分配方法、装置、设备和计算机可读存储介质.pdf(24页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910895064.5 (22)申请日 2019.09.20 (71)申请人 杭州海康威视系统技术有限公司 地址 310051 浙江省杭州市滨江区阡陌路 555号1幢B楼19层 (72)发明人 杜斌赵健吴承超陶荣杰 高丛 (74)专利代理机构 北京汇思诚业知识产权代理 有限公司 11444 代理人 焦志刚 (51)Int.Cl. G06F 9/48(2006.01) G06F 9/50(2006.01) (54)发明名称 任务分配方法、 装置、 设备和计算机可读存 储介质 。
2、(57)摘要 本申请实施例提供一种任务分配方法、 装 置、 设备和计算机可读存储介质, 涉及计算机技 术领域, 可以提高任务分配效率。 该任务分配方 法包括: 获取缓冲池中的任务节点数量; 确定所 述缓冲池中的任务节点数量是否小于注入阈值, 若是, 则对所述缓冲池进行一次遍历注入, 并将 注入所述缓冲池的任务分配给执行器, 所述对所 述缓冲池进行一次遍历注入包括: 遍历所述缓冲 池中的每个节点, 将任务池中的任务注入空节 点, 使空节点变为任务节点; 当获取到所述执行 器的任务执行结果时, 使所述执行后的任务在所 述缓冲池中的对应节点变为空节点。 本申请的方 案主要用于任务调度。 权利要求书3。
3、页 说明书14页 附图6页 CN 111324428 A 2020.06.23 CN 111324428 A 1.一种任务分配方法, 其特征在于, 包括: 获取缓冲池中的任务节点数量; 确定所述缓冲池中的任务节点数量是否小于注入阈值, 若是, 则对所述缓冲池进行一 次遍历注入, 并将注入所述缓冲池的任务分配给执行器, 所述对所述缓冲池进行一次遍历 注入包括: 遍历所述缓冲池中的每个节点, 将任务池中的任务注入空节点, 使空节点变为任 务节点; 当获取到所述执行器的任务执行结果时, 使所述执行后的任务在所述缓冲池中的对应 节点变为空节点。 2.根据权利要求1所述的方法, 其特征在于, 还包括: 。
4、定期获取第一预设时长内对所述缓冲池进行遍历注入的次数; 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否满足预设条件, 若 是, 则调节所述缓冲池的节点数量。 3.根据权利要求2所述的方法, 其特征在于, 所述注入阈值与所述缓冲池的节点数量正相关。 4.根据权利要求2所述的方法, 其特征在于, 所述确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否满足预设条件, 若是, 则调节所述缓冲池的节点数量的过程包括: 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否大于第一预设次数, 若是, 则增加所述缓冲池的节点数量; 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否小。
5、于第二预设次数, 若是, 则减少所述缓冲池的节点数量。 5.根据权利要求4所述的方法, 其特征在于, 所述第一预设次数与所述缓冲池的节点数量正相关, 所述第二预设次数与所述缓冲池 的节点数量正相关。 6.根据权利要求4所述的方法, 其特征在于, 每次所述缓冲池的节点数量变化幅值和该次所述缓冲池的节点数量变化之前的值正 相关。 7.根据权利要求4所述的方法, 其特征在于, 所述定期获取第一预设时长内对所述缓冲池进行遍历注入的次数的过程包括: 定期获取第一预设时长内对缓冲池进行遍历注入的次数以及基准注入次数, 基准注入 次数与缓冲池的节点数量正相关; 根据所述基准注入次数得到所述第一预设次数和所述。
6、第二预设次数, 所述第一预设次 数大于所述基准注入次数且与所述基准注入次数正相关, 所述第二预设次数小于所述基准 注入次数且与所述基准注入次数正相关; 在每次增加所述缓冲池的节点数量之后, 本次增加之后的缓冲池节点数量和本次增加 之前的缓冲池节点数量之比等于所述第一预设次数和所述基准注入次数之比; 在每次减少所述缓冲池的节点数量之后, 本次减少之后的缓冲池节点数量和本次减少 之前的缓冲池节点数量之比等于所述第二预设次数和所述基准注入次数之比。 8.根据权利要求2所述的方法, 其特征在于, 权利要求书 1/3 页 2 CN 111324428 A 2 所述定期获取第一预设时长内对所述缓冲池进行遍。
7、历注入的次数的过程包括: 定期获取第一预设时长内对所述缓冲池进行遍历注入的次数N、 所述缓冲池中的节点 数量m和任务节点数量p; 确定N、 m和p在第二预设时长内是否无变化, 若是, 则对所述缓冲池进行复位; 所述对所述缓冲池进行复位包括: 撤销所述缓冲池中所有任务节点所对应的任务和执行器之间的任务分配关系, 将所述 缓冲池中所有的任务节点所对应的任务注入至所述任务池, 使任务节点变为空节点, 以使 所述缓冲池被清空; 将任务池中的任务注入清空后的所述缓冲池, 使所述缓冲池中的所有空节点变为任务 节点, 并将注入所述缓冲池的任务分配给执行器。 9.一种任务分配装置, 其特征在于, 包括: 第一。
8、获取模块, 用于获取缓冲池中的任务节点数量; 注入模块, 用于确定所述缓冲池中的任务节点数量是否小于注入阈值, 若是, 则对所述 缓冲池进行一次遍历注入, 并将注入所述缓冲池的任务分配给执行器, 所述对所述缓冲池 进行一次遍历注入包括: 遍历所述缓冲池中的每个节点, 将任务池中的任务注入空节点, 使 空节点变为任务节点; 执行结果处理模块, 用于当获取到所述执行器的任务执行结果时, 使所述执行后的任 务在所述缓冲池中的对应节点变为空节点。 10.根据权利要求9所述的装置, 其特征在于, 还包括: 第二获取模块, 用于定期获取第一预设时长内对所述缓冲池进行遍历注入的次数; 节点数量调节模块, 用。
9、于确定所述第一预设时长内对所述缓冲池进行遍历注入的次数 是否满足预设条件, 若是, 则调节所述缓冲池的节点数量。 11.根据权利要求10所述的装置, 其特征在于, 所述注入阈值与所述缓冲池的节点数量正相关。 12.根据权利要求10所述的装置, 其特征在于, 所述节点数量调节模块具体用于: 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否大于第一预设次数, 若是, 则增加所述缓冲池的节点数量; 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否小于第二预设次数, 若是, 则减少所述缓冲池的节点数量。 13.根据权利要求12所述的装置, 其特征在于, 所述第一预设次数与所述缓冲池的节。
10、点数量正相关, 所述第二预设次数与所述缓冲池 的节点数量正相关。 14.根据权利要求12所述的装置, 其特征在于, 每次所述缓冲池的节点数量变化幅值和该次所述缓冲池的节点数量变化之前的值正 相关。 15.根据权利要求12所述的装置, 其特征在于, 所述第二获取模块具体用于: 定期获取第一预设时长内对缓冲池进行遍历注入的次数以及基准注入次数, 基准注入 权利要求书 2/3 页 3 CN 111324428 A 3 次数与缓冲池的节点数量正相关; 根据所述基准注入次数得到所述第一预设次数和所述第二预设次数, 所述第一预设次 数大于所述基准注入次数且与所述基准注入次数正相关, 所述第二预设次数小于所。
11、述基准 注入次数且与所述基准注入次数正相关; 在每次增加所述缓冲池的节点数量之后, 本次增加之后的缓冲池节点数量和本次增加 之前的缓冲池节点数量之比等于所述第一预设次数和所述基准注入次数之比; 在每次减少所述缓冲池的节点数量之后, 本次减少之后的缓冲池节点数量和本次减少 之前的缓冲池节点数量之比等于所述第二预设次数和所述基准注入次数之比。 16.根据权利要求10所述的装置, 其特征在于, 所述第二获取模块具体用于: 定期获取第一预设时长内对所述缓冲池进行遍历注入的次数N、 所述缓冲池中的节点 数量m和任务节点数量p; 确定N、 m和p在第二预设时长内是否无变化, 若是, 则对所述缓冲池进行复位。
12、; 所述对所述缓冲池进行复位包括: 撤销所述缓冲池中所有任务节点所对应的任务和执行器之间的任务分配关系, 将所述 缓冲池中所有的任务节点所对应的任务注入至所述任务池, 使任务节点变为空节点, 以使 所述缓冲池被清空; 将任务池中的任务注入清空后的所述缓冲池, 使所述缓冲池中的所有空节点变为任务 节点, 并将注入所述缓冲池的任务分配给执行器。 17.一种任务分配设备, 其特征在于, 包括: 处理器和存储器, 所述存储器用于存储至少一条指令, 所述指令由所述处理器加载并 执行时以实现如权利要求1至8中任意一项所述的方法。 18.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质中存储有。
13、计算机 程序, 当其在计算机上运行时, 使得计算机执行如权利要求1至8中任意一项所述的方法。 权利要求书 3/3 页 4 CN 111324428 A 4 任务分配方法、 装置、 设备和计算机可读存储介质 技术领域 0001 本申请涉及计算机技术领域, 特别涉及一种任务分配方法、 装置、 设备和计算机可 读存储介质。 背景技术 0002 基于网络环境下的任务系统包括利用资源执行任务的执行器和用于存储任务的 任务池, 任务池具有固定的存储空间, 用于存储任务, 周期性使任务注入任务池并下发给执 行器, 由执行器执行, 然而, 目前的任务分配方式中的任务分配效率较低。 发明内容 0003 本申请提。
14、供了一种任务分配方法、 装置、 设备和计算机可读存储介质, 可以提高任 务分配效率。 0004 第一方面, 本申请实施例提供了一种任务分配方法, 包括: 0005 获取缓冲池中的任务节点数量; 0006 确定所述缓冲池中的任务节点数量是否小于注入阈值, 若是, 则对所述缓冲池进 行一次遍历注入, 并将注入所述缓冲池的任务分配给执行器, 所述对所述缓冲池进行一次 遍历注入包括: 遍历所述缓冲池中的每个节点, 将任务池中的任务注入空节点, 使空节点变 为任务节点; 0007 当获取到所述执行器的任务执行结果时, 使所述执行后的任务在所述缓冲池中的 对应节点变为空节点。 0008 可选地, 上述方法。
15、还包括: 0009 定期获取第一预设时长内对所述缓冲池进行遍历注入的次数; 0010 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否满足预设条件, 若是, 则调节所述缓冲池的节点数量。 0011 可选地, 所述注入阈值与所述缓冲池的节点数量正相关。 0012 可选地, 所述确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否满 足预设条件, 若是, 则调节所述缓冲池的节点数量的过程包括: 0013 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否大于第一预设 次数, 若是, 则增加所述缓冲池的节点数量; 0014 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否小。
16、于第二预设 次数, 若是, 则减少所述缓冲池的节点数量。 0015 可选地, 所述第一预设次数与所述缓冲池的节点数量正相关, 所述第二预设次数 与所述缓冲池的节点数量正相关。 0016 可选地, 每次所述缓冲池的节点数量变化幅值和该次所述缓冲池的节点数量变化 之前的值正相关。 0017 可选地, 所述定期获取第一预设时长内对所述缓冲池进行遍历注入的次数的过程 说明书 1/14 页 5 CN 111324428 A 5 包括: 0018 定期获取第一预设时长内对缓冲池进行遍历注入的次数以及基准注入次数, 基准 注入次数与缓冲池的节点数量正相关; 0019 根据所述基准注入次数得到所述第一预设次数。
17、和所述第二预设次数, 所述第一预 设次数大于所述基准注入次数且与所述基准注入次数正相关, 所述第二预设次数小于所述 基准注入次数且与所述基准注入次数正相关; 0020 在每次增加所述缓冲池的节点数量之后, 本次增加之后的缓冲池节点数量和本次 增加之前的缓冲池节点数量之比等于所述第一预设次数和所述基准注入次数之比; 0021 在每次减少所述缓冲池的节点数量之后, 本次减少之后的缓冲池节点数量和本次 减少之前的缓冲池节点数量之比等于所述第二预设次数和所述基准注入次数之比。 0022 可选地, 所述定期获取第一预设时长内对所述缓冲池进行遍历注入的次数的过程 包括: 0023 定期获取第一预设时长内对。
18、所述缓冲池进行遍历注入的次数N、 所述缓冲池中的 节点数量m和任务节点数量p; 0024 确定N、 m和p在第二预设时长内是否无变化, 若是, 则对所述缓冲池进行复位; 0025 所述对所述缓冲池进行复位包括: 0026 撤销所述缓冲池中所有任务节点所对应的任务和执行器之间的任务分配关系, 将 所述缓冲池中所有的任务节点所对应的任务注入至所述任务池, 使任务节点变为空节点, 以使所述缓冲池被清空; 0027 将任务池中的任务注入清空后的所述缓冲池, 使所述缓冲池中的所有空节点变为 任务节点, 并将注入所述缓冲池的任务分配给执行器。 0028 另一方面, 本申请实施例还提供一种任务分配装置, 包。
19、括: 0029 第一获取模块, 用于获取缓冲池中的任务节点数量; 0030 注入模块, 用于确定所述缓冲池中的任务节点数量是否小于注入阈值, 若是, 则对 所述缓冲池进行一次遍历注入, 并将注入所述缓冲池的任务分配给执行器, 所述对所述缓 冲池进行一次遍历注入包括: 遍历所述缓冲池中的每个节点, 将任务池中的任务注入空节 点, 使空节点变为任务节点; 0031 执行结果处理模块, 用于当获取到所述执行器的任务执行结果时, 使所述执行后 的任务在所述缓冲池中的对应节点变为空节点。 0032 可选地, 上述装置还包括: 0033 第二获取模块, 用于定期获取第一预设时长内对所述缓冲池进行遍历注入的。
20、次 数; 0034 节点数量调节模块, 用于确定所述第一预设时长内对所述缓冲池进行遍历注入的 次数是否满足预设条件, 若是, 则调节所述缓冲池的节点数量。 0035 可选地, 所述注入阈值与所述缓冲池的节点数量正相关。 0036 可选地, 所述节点数量调节模块具体用于: 0037 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否大于第一预设 次数, 若是, 则增加所述缓冲池的节点数量; 0038 确定所述第一预设时长内对所述缓冲池进行遍历注入的次数是否小于第二预设 说明书 2/14 页 6 CN 111324428 A 6 次数, 若是, 则减少所述缓冲池的节点数量。 0039 可选地。
21、, 所述第一预设次数与所述缓冲池的节点数量正相关, 所述第二预设次数 与所述缓冲池的节点数量正相关。 0040 可选地, 每次所述缓冲池的节点数量变化幅值和该次所述缓冲池的节点数量变化 之前的值正相关。 0041 可选地, 所述第二获取模块具体用于: 0042 定期获取第一预设时长内对缓冲池进行遍历注入的次数以及基准注入次数, 基准 注入次数与缓冲池的节点数量正相关; 0043 根据所述基准注入次数得到所述第一预设次数和所述第二预设次数, 所述第一预 设次数大于所述基准注入次数且与所述基准注入次数正相关, 所述第二预设次数小于所述 基准注入次数且与所述基准注入次数正相关; 0044 在每次增加。
22、所述缓冲池的节点数量之后, 本次增加之后的缓冲池节点数量和本次 增加之前的缓冲池节点数量之比等于所述第一预设次数和所述基准注入次数之比; 0045 在每次减少所述缓冲池的节点数量之后, 本次减少之后的缓冲池节点数量和本次 减少之前的缓冲池节点数量之比等于所述第二预设次数和所述基准注入次数之比。 0046 可选地, 所述第二获取模块具体用于: 0047 定期获取第一预设时长内对所述缓冲池进行遍历注入的次数N、 所述缓冲池中的 节点数量m和任务节点数量p; 0048 确定N、 m和p在第二预设时长内是否无变化, 若是, 则对所述缓冲池进行复位; 0049 所述对所述缓冲池进行复位包括: 0050 。
23、撤销所述缓冲池中所有任务节点所对应的任务和执行器之间的任务分配关系, 将 所述缓冲池中所有的任务节点所对应的任务注入至所述任务池, 使任务节点变为空节点, 以使所述缓冲池被清空; 0051 将任务池中的任务注入清空后的所述缓冲池, 使所述缓冲池中的所有空节点变为 任务节点, 并将注入所述缓冲池的任务分配给执行器。 0052 另一方面, 本申请实施例还提供一种任务分配设备, 包括: 0053 处理器和存储器, 所述存储器用于存储至少一条指令, 所述指令由所述处理器加 载并执行时以实现上述的方法。 0054 另一方面, 本申请实施例还提供一种计算机可读存储介质, 所述计算机可读存储 介质中存储有计。
24、算机程序, 当其在计算机上运行时, 使得计算机执行上述的方法。 0055 本申请实施例中的任务分配方法、 装置、 设备和计算机可读存储介质, 在任务池和 执行器之间设置缓冲池, 根据缓冲池中对应的任务数量为判断依据使任务池中的任务注入 缓冲池, 缓冲池中的任务分配给对应的执行器, 通过缓冲的方式实现执行器和任务池之间 解耦, 执行器的任务分配过程不会直接影响任务池, 使得在资源分布不均匀的情况下, 任务 调度系统整体仍保持较高的任务分配和执行效率。 附图说明 0056 图1为本申请实施例中的一种应用场景示意图; 0057 图2为本申请实施例中一种任务分配方法的流程示意图; 说明书 3/14 页。
25、 7 CN 111324428 A 7 0058 图3为本申请实施例中另一种任务分配方法的流程示意图; 0059 图4为本申请实施例中又一种任务分配方法中部分步骤的流程示意图; 0060 图5为图4中步骤201的一种细化步骤的流程示意图; 0061 图6为图4中步骤201的另一种细化步骤的流程示意图; 0062 图7为图4中步骤201的又一种细化步骤的流程示意图; 0063 图8为本申请实施例中一种任务分配装置的结构框图; 0064 图9为本申请实施例中另一种任务分配装置的结构框图; 0065 图10为本申请实施例中一种任务分配设备的结构框图。 具体实施方式 0066 本申请的实施方式部分使用。
26、的术语仅用于对本申请的具体实施例进行解释, 而非 旨在限定本申请。 0067 在对本申请实施例进行介绍之前, 首先对发明人提出本申请实施例的过程进行说 明, 发明人发现, 现有技术中任务池具有固定的存储空间, 用于存储任务, 周期性使任务注 入任务池并下发给执行器, 由于执行器所利用的资源在时间和空间维度上分布不均匀, 这 就会导致任务分配效率低。 例如, 如果执行任务的服务器在夜间执行任务, 由于网络传输资 源在夜间较充足, 因此相对于白天, 夜间执行任务的服务器执行任务时所需要的时间较短, 可能会导致接收任务和分配任务的两方均频繁访问任务池, 出现竞争的情况, 导致整体任 务分配效率低。 。
27、为了改善上述问题, 发明人提供了本申请实施例, 以下对本申请实施例进行 说明。 0068 本申请实施例可应用于任务调度系统。 图1为本申请实施例中的一种应用场景示 意图。 如图1所示的任务调度系统, 主要包括任务分配装置11、 执行器集合12、 缓冲池13和任 务池14, 任务分配装置11和执行器集合12可以为服务器或网络环境下的其他网络设备, 执 行器集合12包括至少一个执行器120, 执行器120用于具体执行任务并反馈任务执行结果, 例如, 执行器集合12为服务器, 执行器120为进程, 执行器120利用网络执行任务, 执行任务 时所利用的资源包括网络带宽资源, 还可以包括其他必要资源, 。
28、资源在时间与空间维度上 分布不均匀, 执行器集合12的任务执行性能与其可利用的资源相关, 例如, 执行器集合12在 夜间等空闲时间的执行效率较高, 执行器集合12距离其执行任务所传输数据的目标位置越 近则执行效率越高。 缓冲池13用于存储待执行的任务, 缓冲池13可以根据执行器120自适应 生成并对应执行器120, 使执行器120和缓冲池13具有一一对应的关系, 可以理解地, 在其他 可实现的实施方式中, 一个缓冲池可以与多个执行器对应, 或者一个缓冲池与多个执行器 集合对应, 在图1和以下实施例的描述中, 仅以一个缓冲池13对应一个执行器120为例进行 举例说明, 缓冲池13中的任务由对应的。
29、执行器120来执行, 任务池14用于存储待分配的任 务, 缓冲池13和任务池14具体可以为服务器中的数据存储结构, 缓冲池13通过节点的形式 存储任务, 每个节点对应一个任务, 节点的数量越多, 则缓冲池13的容量越大, 可以存储的 任务数量越多。 0069 本申请实施例提供一种任务分配方法, 任务可以为利用网络执行的任务, 例如视 频图像检测任务等, 该方法的执行主体可以为任务调度系统中的任务分配装置11, 如图2所 示, 图2为本申请实施例中一种任务分配方法的流程示意图, 该方法可以对应图1中某一个 说明书 4/14 页 8 CN 111324428 A 8 缓冲池13所对应的任务分配方法。
30、, 该方法包括: 0070 步骤101、 获取缓冲池13中的任务节点数量; 0071 步骤102、 确定缓冲池13中的任务节点数量是否小于注入阈值, 若是, 则进入步骤 103, 若否, 则可以重新进入步骤101, 持续监测缓冲池13中的任务节点数量; 0072 步骤103、 对缓冲池13进行一次遍历注入, 并将注入缓冲池13的任务分配给执行器 120, 然后可以进入步骤104以及进入步骤101; 其中, 对缓冲池13进行一次遍历注入包括: 遍 历缓冲池13中的每个节点, 将任务池14中的任务注入空节点, 使空节点变为任务节点。 0073 具体地, 在步骤103、 对缓冲池13进行一次遍历注入。
31、完成之后, 可以直接进入步骤 101和步骤104, 即实时监控缓冲池13中的任务节点数量以及任务执行结果。 在具体的遍历 注入过程中, 会遍历该缓冲池13中的所有节点, 如果发现节点为任务节点, 则跳过继续遍历 缓冲池13, 如果发现节点为空节点, 则从任务池14注入新的任务至该节点, 使该节点成为任 务节点, 直到该缓冲池13中的所有节点均为任务节点, 即完成了一次遍历注入。 需要说明的 是, 如果任务池14中的任务不足以注满该缓冲池13, 则将任务池14中的任务全部注入之后, 即完成本次遍历注入。 任务池14用于存储任务调度系统接收到的所有待分配任务, 任务池 14中的任务注入缓冲池13后。
32、, 分配给执行器120, 在将任务池14中的任务分配给执行器120 时, 会将该任务的位置信息发送给执行器120, 例如, pooln.keyN, 其中, pooln表示缓冲池13 的位置, keyN表示缓冲池13中对应该任务的节点位置, 以便于执行器120找到该任务所在的 节点, 获取对应的具体任务信息, 缓冲池13中存储有待执行任务, 执行器120逐个执行缓冲 池13中分配给自己的任务, 执行器120完成一个任务的执行之后, 会反馈该任务对应的任务 执行结果至任务分配装置11, 任务执行结果中同样包含该任务的位置信息, 例如 pooln.keyN。 若缓冲池13中的某节点被注入任务, 则该。
33、节点成为任务节点, 若缓冲池13中的 某节点没有存储与任务相关的信息, 则该节点为空节点。 将任务注入缓冲池13的过程, 即使 缓冲池13中空节点变为任务节点的过程。 0074 步骤104、 当获取到执行器120的任务执行结果时, 使执行后的任务在缓冲池13中 的对应节点变为空节点, 然后可以进入步骤101, 持续监测缓冲池13中的任务节点数量; 0075 具体地, 执行器120执行完成任务之后会产生任务执行结果, 此时表示该任务已经 执行完成, 无需再进行分配或执行, 由于任务执行结果中包含该任务的位置信息, 因此任务 分配装置11可以根据该位置信息找到对应的节点, 将该任务节点变为空节点,。
34、 以便于存储 其他任务。 0076 上述步骤表示当缓冲池13中任务节点数量下降至注入阈值以下时, 会从任务池14 中补充新的任务存储在缓冲池13中作为执行器120的待执行任务, 注入阈值可以为预设的 定值, 也可以为预设的可调值, 例如, 对于某缓冲池, 其中的节点数量为100, 设置注入阈值 为50, 当前获取到该缓冲池中的任务节点数量为49, 小于50, 即缓冲池中任务节点数量达到 注入条件, 此时对该缓冲池13进行一次遍历注入, 遍历注入之后, 该缓冲池13中的任务节点 数量变为100, 在接下来缓冲池13中任务逐渐被执行的过程中, 空节点数量逐渐增加, 任务 节点数量逐渐减小, 直到再。
35、次判断任务节点数量小于注入阈值时, 再进行下一次遍历注入, 依次类推, 由于增设了缓冲池13, 任务池14中的任务首先注入至缓冲池13中, 再由缓冲池13 将任务分配至对应的执行器120, 因此, 即便执行器120执行任务所用的时间较短, 也不会直 接影响任务池14的任务接收或者给其他执行器120的任务分配。 说明书 5/14 页 9 CN 111324428 A 9 0077 需要说明的是, 上述各步骤之间的执行顺序关系仅为举例, 本申请实施例对于各 步骤之间的执行顺序不作限定, 例如, 步骤104是在执行器120反馈任务执行结果后执行的, 也可以在其他步骤执行的间隙或者与其他步骤同步执行。。
36、 0078 本申请实施例中的任务分配方法, 在任务池和执行器之间设置缓冲池, 根据缓冲 池中对应的任务数量为判断依据使任务池中的任务注入缓冲池, 缓冲池中的任务分配给对 应的执行器, 通过缓冲的方式实现执行器和任务池之间解耦, 执行器的任务分配过程不会 直接影响任务池, 使得在资源分布不均匀的情况下, 任务调度系统整体仍保持较高的任务 分配和执行效率。 0079 可选地, 如图3所示, 图3为本申请实施例中另一种任务分配方法的流程示意图, 上 述任务分配方法还包括: 0080 步骤201、 定期获取第一预设时长内对缓冲池13进行遍历注入的次数, 然后进入步 骤202; 0081 步骤202、 。
37、确定第一预设时长内对所述缓冲池13进行遍历注入的次数是否满足预 设条件, 若是, 则进入步骤203, 若否, 则可以进入步骤101; 0082 步骤203、 调节缓冲池13的节点数量, 然后可以进入步骤101。 0083 具体地, 可以定期执行步骤201和202, 以实现周期性确定缓冲池13中的节点数量 是否需要调整, 以上步骤中的缓冲池13为图1的任务分配系统中的某一个缓冲池13, 即判断 一个缓冲池13是否满足需要进行节点数量调整, 本申请实施例的任务分配方法, 均是针对 该缓冲池13所描述的方法, 对于任务分配系统中的每个缓冲池13, 均可以应用相同的任务 分配方式。 在步骤201中, 。
38、例如每隔x秒获取一次在这x秒内该缓冲池13执行遍历注入的次 数, 即每x秒为一个周期, 周期性获取上一个周期内该缓冲池13执行遍历注入的次数, 遍历 注入的逻辑与上述实施例相同, 是每当缓冲池13中任务节点数量降低至预设值时, 将缓冲 池13注满, 在x秒内进行遍历注入的次数越多, 则说明该缓冲池13对应的执行器120的执行 效率越高, 反之, 在x秒内进行遍历注入的次数越少, 则说明该缓冲池13对应的执行器120的 执行效率越低, 因此, 可以根据第一预设时长内对缓冲池13进行遍历注入的次数来对缓冲 池13中的节点数量进行动态调节, 以提高缓冲池13中的节点数量与执行器120的执行效率 之间。
39、的匹配程度, 从而进一步提高任务分配效率。 预设条件可以根据需要设置, 例如, 设置 阈值y, 当x秒内进行遍历注入的次数大于y时, 则增加缓冲池13中的节点数量, 当x秒内进行 遍历注入的次数小于y时, 则减少缓冲池13中的节点数量。 0084 可选地, 在例如图3所示的任务分配方法中, 注入阈值与缓冲池13的节点数量正相 关。 0085 具体地, 例如, 当缓冲池13的节点数量为100时, 对应的注入阈值为70, 即当缓冲池 13中的任务节点数量下降至70以下时会从任务池14中补充新的任务注入至该缓冲池13; 由 于缓冲池13的节点数量会进行动态调节, 当该缓冲池13中的节点数量变为400。
40、时, 注入阈值 可以变为300, 即当该缓冲池13中的任务节点数量下降至300以下时从任务池14中补充新的 任务注入至该缓冲池13; 以此类推。 缓冲池13的节点数量越大, 则对应的注入阈值越大; 缓 冲池13的节点数量越小, 则对应的注入阈值越小。 这样, 可以保持缓冲池13中存储有与缓冲 池13的节点数量相匹配的任务节点数量, 同时又不会过于频繁地执行注入操作。 注入阈值 可以与缓冲池13的节点数量成正比, 例如, 设置注入阈值为缓冲池13的节点数量的50, 不 说明书 6/14 页 10 CN 111324428 A 10 论缓冲池13的节点数量如何变化, 只要其中的任务节点数量下降至节。
41、点数量的一半以下, 即执行遍历注入。 可以理解地, 在其他可实现的实施方式中, 注入阈值也可以为固定的预设 值, 例如, 缓冲池13的节点数量分为80、 90和100三档, 且在这三档中动态调节, 但是不论缓 冲池13的节点数量为何值, 注入阈值均为70, 即只要缓冲池13中的任务节点数量小于70, 即 执行遍历注入。 0086 可选地, 如图4所示, 图4为本申请实施例中又一种任务分配方法中部分步骤的流 程示意图, 上述步骤202、 确定第一预设时长内对缓冲池13进行遍历注入的次数是否满足预 设条件, 若是, 则进入步骤203、 调节缓冲池13的节点数量的过程包括: 0087 步骤2021、。
42、 确定第一预设时长内对缓冲池13进行遍历注入的次数是否大于第一预 设次数, 若是, 则进入步骤2031, 若否, 则可以进入步骤2022; 0088 步骤2031、 增加缓冲池13的节点数量, 然后可以进入步骤101; 0089 步骤2022、 确定第一预设时长内对缓冲池13进行遍历注入的次数是否小于第二预 设次数, 若是, 则进入步骤2032, 若否, 则可以进入步骤101; 0090 步骤2032、 减少缓冲池的节点数量。 0091 具体地, 缓冲池13具有相同的节点数量时, 第二预设次数小于或等于第一预设次 数, 例如, 某个缓冲池13中的节点数量可以分为50、 100和200三档, 第。
43、一预设时长为10分钟, 第一预设次数为15, 第二预设次数为10, 每10分钟获取最近10分钟内对该缓冲池13进行遍 历注入的次数。 第10分钟时缓冲池13的节点数量为100, 所获取到的遍历注入的次数为20, 超过了第一预设次数15, 因此进入步骤2031中增加缓冲池13的节点数量至200, 然后进入步 骤101, 持续监测缓冲池13中的任务节点数量, 并进入步骤102, 判断是否进行注入, 需要说 明的是, 在图4中未示意步骤102、 103和104, 这些步骤的具体过程可以与图3中所示的过程 相同; 在第20分钟, 在步骤201中所获取到的遍历次数为19, 虽然超过了第一预设次数15, 。
44、但 是由于缓冲池13的节点数量已经达到最大节点数量200, 因此节点数量不变, 然后进入步骤 101, 持续监测缓冲池13的节点数量, 当下降至注入阈值时进行注入; 在第30分钟, 在步骤 201中所获取到的遍历次数为5, 小于第二预设次数10, 因此进入步骤2032, 减少缓冲池13的 节点数量至100, 然后进入步骤101; 在第40分钟, 在步骤201中所获取到的遍历次数为6, 小 于第二预设次数10, 因此进入步骤2032, 减少缓冲池13的节点数量至50, 然后进入步骤101; 以此类推, 当第一预设时长内对缓冲池13进行遍历注入的次数较多时, 说明对应的执行器 120的执行效率较高。
45、, 因此增加缓冲池13的节点数量, 可以避免频繁的注入降低缓冲池13和 任务池14的分配效率, 当第一预设时长内对缓冲池13进行遍历注入的次数较少时, 说明对 应的执行器120的执行效率较低, 因此减少缓冲池13的节点数量, 可以释放使用效率较低的 节点空间, 使得被释放的节点可以用来存储其他数据, 提高存储空间的利用率。 由于执行器 120会持续执行任务, 使得缓冲池13中的任务逐渐减少, 因此, 可以在其他步骤完成之后, 均 进入步骤101, 确定是否满足注入条件, 保证可以及时向缓冲池13注入任务。 因此根据第一 预设时长内对缓冲池13进行遍历注入的次数来动态调节缓冲池13中的节点数量,。
46、 可以提高 缓冲池13中的节点数量与执行器120的执行效率之间的匹配程度, 以提高任务分配效率。 在 其他可实现的实施方式中, 例如, 某个缓冲池13中的节点数量默认为100, 每10分钟获取最 近5分钟内对缓冲池13进行遍历注入的次数, 如果大于20次, 则使缓冲池13中的节点数量增 加20, 如果小于10次, 则使缓冲池13中的节点数量减少10。 说明书 7/14 页 11 CN 111324428 A 11 0092 需要说明的是, 本申请实施例对于各步骤的执行顺序不作限定, 例如除了图4所示 的步骤执行, 在其他可实现的实施方式中, 也可以在每个周期内, 先执行步骤2022, 确定是 。
47、否减少缓冲池13的节点数量, 若不减少, 再进入步骤2021, 确定是否增加缓冲池13的节点数 量; 可以理解地, 也可以在每个周期内, 先进入步骤101, 确定是否遍历注入, 之后再执行步 骤2021以及步骤2022, 确定是否调整缓冲池13的节点数量。 0093 可选地, 第一预设次数与缓冲池13的节点数量正相关, 第二预设次数与缓冲池13 的节点数量正相关。 0094 具体地, 例如, 某个缓冲池13中的节点数量可以分为50、 100和200三档, 第一预设 时长为10分钟。 当该缓冲池13中的节点数量为50时, 第一预设次数为10, 第二预设次数为5; 当该缓冲池13的节点数量为100。
48、时, 第一预设次数为15, 第二预设次数为10; 当该缓冲池13 的节点数量为200时, 第一预设次数为20, 第二预设次数为15。 每10分钟获取最近10分钟内 对该缓冲池13进行遍历注入的次数。 第10分钟时缓冲池13的节点数量为100, 所获取到的遍 历注入的次数为20, 超过了该档位下的第一预设次数15, 因此进入步骤2031中增加缓冲池 13的节点数量至200, 然后进入步骤101、 获取缓冲池13中的任务节点数量, 并进入步骤102, 判断是否进行注入; 在第20分钟, 所获取到的遍历次数为19, 位于该档位下的第一预设次数 20和第二预设次数15之间, 因此节点数量不变, 然后进。
49、入步骤101, 继续监测缓冲池13的节 点数量, 当下降至注入阈值时进行注入; 在第30分钟, 所获取到的遍历次数为5, 小于该档位 下的第二预设次数15, 因此进入步骤2032, 减少缓冲池13的节点数量至100, 然后进入步骤 101; 以此类推, 当缓冲池13的节点数量调节之后, 动态调节第一预设次数和第二预设次数, 第一预设次数和第二预设次数均与缓冲池13的节点数量正相关, 这样, 可以使每次判断缓 冲池13的节点数量是否调整的条件适应当前缓冲池13的节点数量。 0095 可选地, 每次缓冲池13的节点数量变化幅值和该次缓冲池13的节点数量变化之前 的值正相关。 0096 具体地, 例。
50、如, 某个缓冲池13中的节点数量可以分为25、 50、 100、 200和400五档, 缓 冲池13的节点数量逐档调节, 例如, 当前缓冲池13的节点数量为25, 确定第一预设时长内对 缓冲池13进行遍历注入的次数大于第一预设次数, 增加缓冲池13的节点数量至50, 节点数 量变化幅值为25; 下一次确定第一预设时长内对缓冲池13进行遍历注入的次数大于第一预 设次数, 增加缓冲池13的节点数量至100, 节点数量变化幅值为50, 该次缓冲池13的节点数 量变化之前的值为50; 下一次确定第一预设时长内对缓冲池13进行遍历注入的次数大于第 一预设次数, 增加缓冲池13的节点数量至200, 节点数。
- 内容关键字: 任务 分配 方法 装置 设备 计算机 可读 存储 介质
农用无人机喷施效率现场检测装置.pdf
双线全自动冷轧管机生产线.pdf
汽车双色透光按钮.pdf
便于残渣分离的活性氧化锌制备装置.pdf
五金件CNC加工车床.pdf
拖拉机翻转连接架.pdf
物流箱投送物流架.pdf
对虾无节幼体流水养殖装置.pdf
烧结网管状过滤元件对接拼焊结构.pdf
车辆顶舱盖机构及车辆.pdf
节能型有机废气高效吸附脱附装置.pdf
新型储能电源.pdf
方便运输的可折叠储物罐.pdf
镜头易拆卸安装的玩具显微镜.pdf
预拌砂浆筛砂机.pdf
用于农药残留检测的样品破碎装置.pdf
方便维修的地坪研磨机齿轮箱.pdf
协作机器人侧装升降机构.pdf
TBM隧道施工注浆装置.pdf
便携式毫米波接力机.pdf
中频炉金属硅粉快速下料装置.pdf
即时传输及显示方法、装置、设备及存储介质.pdf
佩戴牢固的蓝牙耳机.pdf
基于3D激光雷达的移动机器人位姿跟踪方法及装置.pdf
基于模型协作的数据加权学习方法.pdf
蓝牙耳机信号传输测试装置.pdf
异常报价监控方法、系统、计算机及存储介质.pdf
混凝土布料任务动态控制方法及系统.pdf
转载溜槽及包括其的带式输送机系统.pdf
基于大数据的计算手术后目标血红蛋白的方法及系统.pdf
中频炉换炉开关.pdf
患者数据可视化管理系统及方法.pdf