[发明专利]一种服务器系统、执行任务的方法和服务器在审
申请号: | 201710202835.9 | 申请日: | 2017-03-30 |
公开(公告)号: | CN107122234A | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 谢俊;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京众达德权知识产权代理有限公司11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务器 系统 执行 任务 方法 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务器系统、执行任务的方法和服务器。
背景技术
在相关技术中,服务器一般只启动一条线程来执行任务。然而在上述相关技术中至少存在以下问题:
1、通过单服务器单线程来执行多个任务,只能等到排序在前的任务执行完成后才能执行排序在后的任务,任务执行效率很低;
2、如果该服务器和/或该线程异常,待执行的任务无法迁移,只能延迟。
由此可见,随着任务数量的增长,上述通过单服务器单线程执行任务的方式已经不能满足需求了。
发明内容
本发明实施例提供了一种服务器系统、执行任务的方法和服务器,用于提高任务执行效率。
第一方面,本发明提供了一种服务器系统,包括:
第一服务器,包括服务端模块;
N个第二服务器,每个所述第二服务器与所述第一服务器连接,每个所述第二服务器包括客户端模块,N为正整数;
每个所述第二服务器用于接收所述第一服务器发送的M个任务,所述客户端模块用于读取每个所述任务的任务启动时间,并在所述任务启动时间到达时启动一线程执行所述任务,M为正整数。
可选的,所述任务启动时间可以为周期性启动时间,所述客户端模块还用于向所述服务端模块发送所述任务的最近周期执行结果;
所述服务端模块用于基于所述最近周期执行结果,判断所述客户端模块是否满足继续执行所述任务的预设条件;当所述客户端模块不满足所述预设条件时,将所述任务迁移到另一所述第二服务器,以使另一所述第二服务器的所述客户端模块在下次所述周期性启动时间到达时执行所述任务。
可选的,所述任务启动时间还可以为指定启动时间,所述客户端模块还用于向所述服务端模块发送所述任务的单次执行结果;
所述服务端模块用于基于所述单次执行结果,判断所述客户端模块是否执行完成所述任务;当所述客户端模块未执行完成所述任务时,为所述任务重新确定所述指定启动时间,并将所述任务迁移到另一所述第二服务器,以使另一所述第二服务器的所述客户端模块在到达重新确定出的所述指定启动时间时重新执行所述任务。
可选的,所述服务端模块还用于在向所述第二服务器下发M个所述任务后,估计所述第二服务器的所述客户端模块执行M个所述任务的估计用时,并判断在所述估计用时之后是否接收到所述第二服务器的所述客户端模块发送的再次请求任务的请求,当在所述估计用时之后未接收到所述第二服务器的所述客户端模块发送的再次请求任务的请求时,确定所述第二服务器异常,并生成所述第二服务器的报警信息。
可选的,所述客户端模块还用于在向所述服务端模块发送再次请求任务的请求之后,判断在第一预设时间内是否接收到所述服务端模块再次下发的所述任务或者表示当前暂不需要执行任务的通知信息,当在所述第一预设时间内未接收到所述服务端模块再次下发的M个所述任务或者所述通知信息时,确定所述第一服务器异常,并生成所述第一服务器的报警信息。
第二方面,本发明提供了一种执行任务的方法,应用于第一服务器,所述第一服务器包括服务端模块,所述第一服务器与N个第二服务器连接,每个所述第二服务器包括客户端模块,N为正整数,所述方法包括:
通过所述服务端模块向每个所述第二服务器发送M个任务,以使所述客户端模块读取每个所述任务的任务启动时间,并在所述任务启动时间到达时启动一线程执行所述任务,M为正整数。
可选的,所述任务启动时间可以为周期性启动时间,所述客户端模块用于向所述服务端模块发送所述任务的最近周期执行结果,所述方法还包括:
所述服务端模块基于所述最近周期执行结果,判断所述客户端模块是否满足继续执行所述任务的预设条件;
当所述客户端模块不满足所述预设条件时,将所述任务迁移到另一所述第二服务器,以使另一所述第二服务器的所述客户端模块在下次所述周期性启动时间到达时执行所述任务。
可选的,所述任务启动时间还可以为指定启动时间,所述客户端模块还用于向所述服务端模块发送所述任务的单次执行结果,所述方法还包括:
所述服务端模块基于所述单次执行结果,判断所述客户端模块是否执行完成所述任务;
当所述客户端模块未执行完成所述任务时,为所述任务重新确定所述指定启动时间;
将所述任务迁移到另一所述第二服务器,以使另一所述第二服务器的所述客户端模块在到达重新确定出的所述指定启动时间时重新执行所述任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710202835.9/2.html,转载请声明来源钻瓜专利网。