一种集群服务器执行任务的方法和装置制造方法

文档序号:7772242阅读:253来源:国知局
一种集群服务器执行任务的方法和装置制造方法
【专利摘要】本发明公开了一种集群服务器执行任务的方法和装置,属于互联网通信领域。所述方法包括:从任务状态表中获取任务状态为未执行的待执行任务信息;获取执行待执行任务的节点服务器的标识;当到达执行待执行任务的时间戳时,发送待执行任务的标识给节点服务器,使节点服务器根据待执行任务的标识获取并执行待执行任务;当节点服务器执行待执行任务失败时,发送任务响应给管理节点服务器,使管理节点服务器将待执行任务的任务状态修改为未执行,以使集群中除该节点服务器之外的其他节点服务器执行该待执行任务。所述装置包括:第一获取模块、第二获取模块、第一发送模块和第二发送模块。本发明提供的方法能够保证了集群服务器执行任务的可靠性。
【专利说明】一种集群服务器执行任务的方法和装置

【技术领域】
[0001] 本发明涉及互联网通信领域,特别涉及一种集群服务器执行任务的方法和装置。

【背景技术】
[0002] 在集群服务器中设置定时器,一个服务器对应一个定时器;当到达执行待执行任 务的时间戳时,定时器控制与之对应的服务器执行待执行任务。
[0003] 现有技术提供了一种集群服务器执行任务的方法,可以为:集群中的多个定时器 同时将集群中服务器的台数和待执行任务的ID(Identity,身份标识号码)进行取模运算, 得到执行该待执行任务的节点服务器的编号;当到达执行待执行任务的时间戳时,与该节 点服务器的编号对应的定时器发送待执行任务的标识给该节点服务器,该节点服务器接收 该待执行任务的标识,根据该待执行任务的标识获取并执行该待执行任务。
[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] 图1是本发明实施例1提供的集群服务器执行任务的方法流程图;
[0045] 图2是本发明实施例2提供的集群服务器执行任务的方法流程图;
[0046] 图3是本发明实施例3提供的集群服务器执行任务的装置结构示意图。

【具体实施方式】
[0047] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0048] 实施例1
[0049] 本发明实施例提供了一种集群服务器执行任务的方法。参见图1,其中,该方法包 括:
[0050] 101 :定时器从任务状态表中获取任务状态为未执行的待执行任务信息,该待执行 任务信息包括待执行任务的标识和执行待执行任务的时间戳;
[0051] 102 :定时器获取执行待执行任务的节点服务器的标识;
[0052] 103:当到达执行待执行任务的时间戳时,定时器根据节点服务器的标识发送待 执行任务的标识给节点服务器,使节点服务器根据待执行任务的标识获取并执行待执行任 务;
[0053] 104 :当节点服务器执行待执行任务失败时,定时器发送任务响应给管理节点服务 器,该任务响应携带状态信息为未完成,该状态信息用于提示管理节点服务器待执行任务 的任务状态,使管理节点服务器根据该任务响应将待执行任务的任务状态修改为未执行, 以使集群中除该节点服务器之外的其他节点服务器执行该待执行任务。
[0054] 本发明实施例中,当节点服务器执行待执行任务失败时,定时器发送任务响应给 管理节点服务器,该任务响应携带状态信息为未完成,管理节点服务器根据该任务响应将 待执行任务的任务状态修改为未执行,使集群中除该节点服务器之外的其他节点服务器执 行该待执行任务。因此,即使该节点服务器宕机,也能使该待执行任务被执行,从而保证了 集群服务器执行任务的可靠性。
[0055] 实施例2
[0056] 本发明实施例提供了一种集群服务器执行任务的方法。参见图2,其中,该方法包 括:
[0057] 201:定时器接收用户输入的需要执行任务的标识和执行需要执行任务的时间 戳;
[0058] 其中,定时器为集群服务器中的任一定时器,在集群服务器中,部署至少一台定时 器。
[0059] 其中,需要说明的是,需要执行任务为用户输入的任务;需要执行任务的时间戳为 执行需要执行任务对应的时刻。
[0060] 其中,当用户需要让集群服务器在某个时间戳执行需要执行任务时,用户输入需 要执行任务的标识和执行需要执行任务的时间戳给定时器,定时器接收用户输入的需要执 行任务的标识和执行需要执行任务的时间戳。
[0061] 例如,用户需要在2013-9-18-12:00发送短消息给好友甲时,用户在定时器中输 入发送短消息任务的标识和发送短消息的时间戳2013-9-18-12:00,定时器接收用户输入 的发送短消息任务的标识和发送短消息的时间戳2013-9-18-12:00。
[0062] 202:定时器将需要执行任务的标识和执行需要执行任务的时间戳保存在任务状 态表中;
[0063] 具体地,定时器绑定需要执行任务的标识和执行需要执行任务的时间戳,将需要 执行任务的标识、执行需要执行任务的时间戮、任务状态二者的对应关系保存在任务状态 表中。
[0064] 其中,任务状态包括未执行、执行中和已执行。
[0065] 其中,未执行是指该需要执行任务未被节点服务器执行;执行中是指该需要执行 任务正在被节点服务器执行;已执行是指该需要执行任务已经被节点服务器执行完成。
[0066] 例如,定时器将需要执行任务的标识和执行需要执行任务的时间戳保存在任务状 态表中,如表1所$ :
[0067]表1

【权利要求】
1. 一种集群服务器执行任务的方法,其特征在于,所述方法包括: 从任务状态表中获取任务状态为未执行的待执行任务信息,所述待执行任务信息包括 待执行任务的标识和执行所述待执行任务的时间戳; 获取执行所述待执行任务的节点服务器的标识; 当到达执行所述待执行任务的时间戳时,根据所述节点服务器的标识发送所述待执行 任务的标识给所述节点服务器,使所述节点服务器根据所述待执行任务的标识获取并执行 所述待执行任务; 当所述节点服务器执行所述待执行任务失败时,发送任务响应给管理节点服务器,所 述任务响应携带状态信息为未完成,所述状态信息用于提示所述管理节点服务器所述待执 行任务的任务状态,使所述管理节点服务器根据所述任务响应将所述待执行任务的任务状 态修改为未执行,W使集群中除所述节点服务器之外的其他节点服务器执行所述待执行任 务。
2. 如权利要求1所述的方法,其特征在于,所述从任务状态表中获取任务状态为未执 行的待执行任务信息之后,所述方法还包括: 发送任务请求给管理节点服务器,所述任务请求携带所述待执行任务的标识,使所述 管理节点服务器根据所述任务请求将所述待执行任务的任务状态修改为执行中。
3. 如权利要求1所述的方法,其特征在于,所述从任务状态表中获取任务状态为未执 行的待执行任务信息,包括: 获取任务状态为未执行的任务信息; 计算所述任务信息包括的执行需要执行任务的时间戳和当前时间戳的差值; 从所述差值中选择最小值; 将所述最小值对应的任务信息作为所述待执行任务信息。
4. 如权利要求1所述的方法,其特征在于,所述从任务状态表中获取待执行任务信息 之前,所述方法还包括: 接收用户输入的需要执行任务的标识和执行所述需要执行任务的时间戳; 将所述需要执行任务的标识和执行所述需要执行任务的时间戳保存在所述任务状态 表中。
5. 如权利要求1所述的方法,其特征在于,所述获取执行所述待执行任务的节点服务 器的标识,包括: 从集群服务器中随机选择一个节点服务器,将所述选择的节点服务器作为执行所述待 执行任务的节点服务器; 或者,根据集群服务器中的节点服务器的负载,选择负载最小的节点服务器,将所述负 载最小的节点服务器作为执行所述待执行任务的节点服务器。
6. -种集群服务器执行任务的装置,其特征在于,所述装置包括: 第一获取模块,用于从任务状态表中获取任务状态为未执行的待执行任务信息,所述 待执行任务信息包括待执行任务的标识和执行所述待执行任务的时间戳; 第二获取模块,用于获取执行所述待执行任务的节点服务器的标识; 第一发送模块,用于当到达执行所述待执行任务的时间戳时,根据所述节点服务器的 标识发送所述待执行任务的标识给所述节点服务器,使所述节点服务器根据所述待执行任 务的标识获取并执行所述待执行任务; 第二发送模块,用于当所述节点服务器执行所述待执行任务失败时,发送任务响应给 管理节点服务器,所述任务响应携带状态信息为未完成,所述状态信息用于提示所述管理 节点服务器所述待执行任务的任务状态,使所述管理节点服务器根据所述任务响应将所述 待执行任务的任务状态修改为未执行,W使集群中除所述节点服务器之外的其他节点服务 器执行所述待执行任务。
7. 如权利要求6所述的装置,其特征在于,所述装置还包括: 第H发送模块,用于发送任务请求给管理节点服务器,所述任务请求携带所述待执行 任务的标识,使所述管理节点服务器根据所述任务请求将所述待执行任务的任务状态修改 为执行中。
8. 如权利要求6所述的装置,其特征在于,所述第一获取模块,包括: 获取单元,用于获取任务状态为未执行的任务信息; 计算单元,用于计算所述任务信息包括的执行需要执行任务的时间戳和当前时间戳的 差值; 第一选择单元,用于从所述差值中选择最小值,将所述最小值对应的任务信息作为所 述待执行任务信息。
9. 如权利要求6所述的装置,其特征在于,所述装置还包括: 接收模块,用于接收用户输入的需要执行任务的标识和执行所述需要执行任务的时间 戳; 保存模块,用于将所述需要执行任务的标识和执行所述需要执行任务的时间戳保存在 所述任务状态表中。
10. 如权利要求6所述的装置,其特征在于,所述第二获取模块,包括: 第二选择单元,用于从集群服务器中随机选择一个节点服务器,将所述选择的节点服 务器作为执行所述待执行任务的节点服务器; 或者,第H选择单元,用于根据集群服务器中的节点服务器的负载,选择负载最小的节 点服务器,将所述负载最小的节点服务器作为执行所述待执行任务的节点服务器。
【文档编号】H04L29/08GK104468174SQ201310453196
【公开日】2015年3月25日 申请日期:2013年9月25日 优先权日:2013年9月25日
【发明者】席淑海 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1