任务分配方法和装置的制造方法

文档序号:9380457阅读:334来源:国知局
任务分配方法和装置的制造方法
【技术领域】
[0001] 本发明涉及网络技术领域,特别涉及一种任务分配方法和装置。
【背景技术】
[0002] 随着互联网规模的不断扩大,网络系统中的任务越来越多,如果仅采用一个服务 器执行任务,会导致该服务器负担过大,影响任务的执行效率。为此,可以采用分布式系统 来执行任务。
[0003] 分布式系统包括权限分配服务器和多个用于执行任务的执行服务器,多个执行服 务器可以向权限分配服务器请求执行任务的权限,只有获取到执行任务权限的执行服务器 才能执行相应的任务。具体地,当到达任务的起始时间点时,每个执行服务器向权限分配服 务器发送权限获取请求,权限分配服务器可以接收多个执行服务器发送的权限获取请求, 并将分布式锁分配给接收到的第一个权限获取请求所对应的指定执行服务器。该指定执行 服务器获取到该分布式锁后,即可基于该分布式锁执行任务,并将下一个任务的起始时间 点作为该分布式锁的权限结束时间点。当后续到达该分布式锁的权限结束时间点时,该指 定执行服务器会释放该分布式锁,则该权限分配服务器回收该分布式锁,以便其他执行服 务器基于该分布式锁执行下一个任务。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 当由于系统崩溃等原因而导致指定执行服务器无法按时释放分布式锁时,该权限 分配服务器不能回收该分布式锁,则其他执行服务器也不能基于该分布式锁执行下一任 务,影响到了下一任务的正常执行。

【发明内容】

[0006] 为了解决现有技术的问题,本发明实施例提供了一种任务分配方法和装置。所述 技术方案如下:
[0007] 第一方面,提供了一种任务分配方法,所述方法包括:
[0008] 接收至少一个执行服务器发送的权限请求,所述权限请求由对应的执行服务器在 当前时间点到达任务的起始时间点时发送;
[0009] 确定接收到的第一个权限请求中包含的服务器标识;
[0010] 基于所述服务器标识,向对应的第一执行服务器发送分配指令,使得所述第一执 行服务器根据所述分配指令,执行所述任务。
[0011] 可选地,所述方法还包括:
[0012] 在所述任务的状态为未执行状态的前提下,当接收到所述第一个权限请求时,将 所述任务的状态设置为已执行状态;
[0013] 当再次接收到第二执行服务器发送的权限请求时,向所述第二执行服务器发送请 求失败消息。
[0014] 可选地,所述接收至少一个执行服务器发送的权限请求之前,所述方法还包括:
[0015] 建立任务标识与起始时间点之间的对应关系。
[0016] 可选地,所述建立任务标识与起始时间点之间的对应关系之后,所述方法还包 括:
[0017] 接收任一执行服务器发送的起始时间点获取指令,所述起始时间点获取指令包括 任务标识;
[0018] 根据所述对应关系,获取所述任务标识对应的起始时间点;
[0019] 向所述起始时间点获取指令对应的执行服务器发送所述起始时间点。
[0020] 可选地,所述接收至少一个执行服务器发送的权限请求之前,所述方法还包括:
[0021] 根据每个任务的起始时间点的先后顺序,生成任务列表,所述任务列表中包括多 个条目,每个条目包括任务标识、起始时间点和任务的状态,所述任务的状态为已执行状态 或未执行状态。
[0022] 可选地,所述根据每个任务的起始时间点的先后顺序,生成任务列表之后,所述方 法还包括:
[0023] 接收任一执行服务器发送的起始时间点获取指令;
[0024] 从所述任务列表中,获取处于未执行状态的第一个任务的起始时间点;
[0025] 向所述起始时间点获取指令对应的执行服务器发送所述起始时间点。
[0026] 第二方面,提供了一种任务分配方法,所述方法包括:
[0027] 确定待执行任务的起始时间点;
[0028] 当检测到当前时间点到达所述起始时间点时,向权限分配服务器发送对所述任务 的权限请求;
[0029] 当接收到所述权限分配服务器发送的分配指令时,执行所述任务。
[0030] 可选地,所述向权限分配服务器发送对所述任务的权限请求之后,所述方法还包 括:
[0031] 当接收到所述权限分配服务器发送的请求失败消息时,取消执行所述任务。
[0032] 可选地,所述确定待执行任务的起始时间点,包括:
[0033] 向所述权限分配服务器发送起始时间点获取指令,所述起始时间点获取指令包括 任务标识,使得所述权限分配服务器根据建立的任务标识与起始时间点之间的对应关系, 获取所述任务标识对应的起始时间点;
[0034] 接收所述权限分配服务器返回的所述起始时间点。
[0035] 可选地,所述确定待执行任务的起始时间点,包括:
[0036] 向所述权限分配服务器发送起始时间点获取指令,使得所述权限分配服务器从任 务列表中,获取处于未执行状态的第一个任务对应的起始时间点;
[0037] 接收所述权限分配服务器返回的所述起始时间点。
[0038] 第三方面,提供了一种任务分配装置,所述装置包括:
[0039] 接收模块,用于接收至少一个执行服务器发送的权限请求,所述权限请求由对应 的执行服务器在当前时间点到达任务的起始时间点时发送;
[0040] 标识确定模块,用于确定接收到的第一个权限请求中包含的服务器标识;
[0041] 发送模块,用于基于所述服务器标识,向对应的第一执行服务器发送分配指令,使 得所述第一执行服务器根据所述分配指令,执行所述任务。
[0042] 可选地,所述装置还包括:
[0043] 状态设置模块,用于在所述任务的状态为未执行状态的前提下,当接收到所述第 一个权限请求时,将所述任务的状态设置为已执行状态;
[0044] 所述发送模块,还用于当再次接收到第二执行服务器发送的权限请求时,向所述 第二执行服务器发送请求失败消息。
[0045] 可选地,所述装置还包括:
[0046] 对应关系建立模块,用于建立任务标识与起始时间点之间的对应关系。
[0047] 可选地,所述装置还包括:
[0048] 所述接收模块,还用于接收任一执行服务器发送的起始时间点获取指令,所述起 始时间点获取指令包括任务标识;
[0049] 起始时间点获取模块,用于根据所述对应关系,获取所述任务标识对应的起始时 间点;
[0050] 所述发送模块,还用于向所述起始时间点获取指令对应的执行服务器发送所述起 始时间点。
[0051] 可选地,所述装置还包括:
[0052] 任务列表生成模块,用于根据每个任务的起始时间点的先后顺序,生成任务列表, 所述任务列表中包括多个条目,每个条目包括任务标识、起始时间点和任务的状态,所述任 务的状态为已执行状态或未执行状态。
[0053] 可选地,所述装置还包括:
[0054] 所述接收模块,还用于接收任一执行服务器发送的起始时间点获取指令;
[0055] 起始时间点获取模块,用于从所述任务列表中,获取处于未执行状态的第一个任 务的起始时间点;
[0056] 所述发送模块,还用于向所述起始时间点获取指令对应的执行服务器发送所述起 始时间点。
[0057] 第四方面,提供了一种任务分配装置,所述系统包括:
[0058] 起始时间点确定模块,用于确定待执行任务的起始时间点;
[0059] 发送模块,用于当检测到当前时间点到达所述起始时间点时,向权限分配服务器 发送对所述任务的权限请求;
[0060] 任务处理模块,用于当接收到所述权限分配服务器发送的分配指令时,执行所述 任务。
[0061] 可选地,所述任务处理模块还用于当接收到所述权限分配服务器发送的请求失败 消息时,取消执行所述任务。
[0062] 可选地,所述起始时间点确定模块还用于向所述权限分配服务器发送起始时间点 获取指令,所述起始时间点获取指令包括任务标识,使得所述权限分配服务器根据建立的 任务标识与起始时间点之间的对应关系,获取所述任务标识对应的起始时间点;接收所述 权限分配服务器返回的所述起始时间点。
[0063] 可选地,所述起始时间点确定模块还用于向所述权限分配服务器发送起始时间点 获取指令,使得所述权限分配服务器从任务列表中,获取处于未执行状态的第一个任务对 应的起始时间点;接收所述权限分配服务器返回的所述起始时间点。
[0064] 本发明实施例提供的技术方案带来的有益效果是:
[0065] 本发明实施例提供的方法和装置,通过接收至少一个执行服务器发送的权限请 求,确定接收到的第一个权限请求中包含的服务器标识,基于该服务器标识,向对应的第一 执行服务器发送分配指令,使得当该第一执行服务器接收到该分配指令时执行该任务。通 过在每次分配任务时,向接收到的第一个权限请求所对应的执行服务器发送分配指令,将 执行任务的权限分配给该执行服务器。该分配权限的过程无需采用分配分布式锁的方式进 行,不同任务的分配权限过程互不影响,避免了由于执行上一任务时分布式锁无法释放而 导致下一任务不能正常执行的问题。
【附图说明】
[0066] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1