一种分布式任务系统和分布式任务管理方法技术方案

技术编号:2826882 阅读:200 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种分布式任务管理方法,包括以下步骤:任务服务器向任务事务服务器发送任务请求消息;所述任务事务服务器根据记录的各个任务的执行情况,判断所述任务服务器是否可以执行所述任务,并将判断结果发送到所述任务服务器;如果判断结果为是,则所述任务服务器执行所述任务。本发明专利技术还公开了一种分布式任务系统,包括任务事务服务器和至少一个任务服务器。本发明专利技术解决了任务执行单元只是被动的被调用者,而无法进行自我平衡的问题。

【技术实现步骤摘要】

本专利技术涉及任务调度与策略
,尤其涉及一种分布式任务系统和 分布式任务管理方法。
技术介绍
任务是指按照预先订制的策略进行执行的一个工作。例如windows的任务 系统,可以制定一个任务12: 50系统自动关机;则在12: 50时系统执行该 任务,完成自动关机的工作。目前,大部分任务系统采用的是单系统,但是单系统的处理能力非常有 限。随着任务的复杂性和精度要求的不断提高,系统需要处理的任务越来越 重,因此单系统已经不能4艮好地满足用户的需要。为了解决系统处理能力有限的问题,现在一般采用分布式任务系统,该 系统由一个任务策略运行单元和一组任务执行单元组成,在任务策略运行单 元的控制下,每个任务执行单元共同分担需要处理的任务。在该系统中,要 求在任务单位时间内有且只能有一个任务执行单元执行该任务,即在分布式 任务系统中,要保证任务是线性执行的。在同一时刻出现两个任务执行单元 从任务策略运行单元获得任务执行权是错误的。现有^fe术的一种分布式任务系统如图l所示,该系统包括任务策略运行单 元11和N个任务执行单元12 ,其中任务策略运行单元11分别与每个任务执行单 元12进行通信。任务策略运行单元11分配任务到任务执行单元12,监控每个 任务执行单元12,并对该任务执行单元12进行管理;任务执行单元12执行任 务策略运行单元ll分配的任务,并向任务策略运行单元ll报告自己的状态。多服务器处理的能力。但是,采用该系统时,任务执行单元12只是被动的^皮调用者,而无法进 行自我平衡。因此,当有很多个任务需要执行,且长任务和短任务都混合在 一起时,任务策略运行羊元11对任务执行单元12的控制能力变弱,甚至不可 控。
技术实现思路
本专利技术要解决的问题是提供一种分布式任务管理方法和分布式任务系 统,以克服任务执行单元只是被动的被调用者,而无法进行自我平衡的缺陷。为了实现以上目的,本专利技术的实施例提供了一种分布式任务系统,包括 任务事务服务器和至少一个任务服务器,所述任务事务服务器,接收所述任 务服务器发送的任务请求,向所述任务服务器进行反馈,并记录各个任务的 执行情况;所述任务服务器,向所述任务事务服务器发送任务请求,并根据 所述任务事务服务器的反馈结果执行所述任务。所述任务服务器进一步包括自我平衡单元和任务执行单元;所述自我平 衡单元,向所述任务事务服务器发送任务请求,并接收所述任务事务服务器 发送的反馈结果,根据所述反馈结果触发所述任务执行单元执行所述任务; 所述任务执行单元,与所述自我平衡单元连接,在所述自我平衡单元的控制 下执行所述任务。所述任务服务器还包括任务策略运行单元,与所述自我平衡单元连接, 用于触发所述自我平衡单元发送任务请求。当所述反馈结果为所述任务服务器可以执行所述任务时,所述自我平衡 单元检测所述任务服务器是否忙碌,如果忙碌,则向所述任务事务服务器发 送任务^f金查消息;所述任务事务服务器检查是否有其它任务服务器申请所述 任务,并向所述自我平衡单元发送检查结果。所述任务服务器的忙碌情况包括当前线程数量大于或等于预先设定的 线程数量门限值和/或当前长时间线程数量大于或等于预先设定的长时间线程 数量门P艮值和/或所述任务服务器的运行能力值大于或等于1。本专利技术的实施例还提供了一种分布式任务管理方法,包括以下步骤任务服务器向任务事务服务器发送任务请求消息;所述任务事务服务器根据记 录的各个任务的执行情况,判断所述任务服务器是否可以执行所述任务,并将判断结果发送到所迷任务服务器;如果判断结果为是,则所述任务服务器 执行所述任务。在任务服务器向任务事务服务器发送任务请求消息后,如果在第一间隔时间内收到所述任务事务服务器反馈的判断结果,则开始事务;否则重新进 行申请。如果在第二间隔时间内没有收到所述任务事务服务器反馈的判断结果, 则所述任务服务器放弃申请。所述判断任务服务器是否可以执行所述任务具体为所述任务事务服务 器检查各个任务的执行情况,如果有其它任务服务器正在执行所述任务,则 判断结果为所述任务服务器不可以执行所述任务;否则判断结果为所述任务 服务器可以执行所迷任务。在所述任务服务器执行任务之前,还包括所述任务服务器检测本身是 否忙碌,如果不忙碌,则执行所述任务;如果忙碌,则向所述任务事务服务 器发送任务检查消息;所述任务事务服务器检查是否有其它任务服务器申请 所述任务,并向所述自我平衡单元发送检查结果;如果检查结果为是,则所 述任务服务器放弃本次任务请求,否则执行所述任务。所述任务服务器检测本身是否忙碌,包括判断当前线程数量是否大于 或等于预先设定的线程数量门限值,如果是,则所述任务服务器忙碌。所述任务服务器检测本身是否忙碌,包括判断当前长时间线程数量是 否大于或等于预先设定的长时间线程数量门限值,如果是,则所述任务服务 器忙碌。所述任务服务器检测本身是否忙碌,包括根据CPU使用率、当前线程 数量和长时间线程数量获取所述任务服务器的运行能力值,如果所述运行能 力值大于或等于l,则所述任务服务器忙碌。所述任务服务器执行任务,包括获取执行所述任务的数据;根据所述 数据和所述任务的执行时间,对所述数据进行分组;对每组数据进行处理。所述各个任务的执行情况包括任务执行者、上次任务执行时间和任务名称。与现有抆术相比,本专利技术的实施例具有以下优点在本专利技术的实施例中,任务服务器采用自我平衡单元检测任务服务器本 身是否忙碌,并在忙碌时,将任务转移到其它任务服务器执行,实现了任务 服务器的自我平衡。因此,当有很多个任务需要执行,且长任务和短任务都 混合在一起时,自我平衡单元也能够对任务执行单元进行有效地控制。另外,本专利技术的实施例采用任务事务服务器,根据各个任务的执行情况 对任务服务器的任务请求进行反馈,保证了任务的线性执行。附困说明附图说明图1是现有技术的一种分布式任务系统图;图2是本专利技术实施例的一种分布式任务系统图;图3是本专利技术的一种分布式任务管理方法实施例的流程图;图4是图3实施例中执行任务实施例的流程图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述 本专利技术实施例的一种分布式任务系统如图2所示,该系统包括任务服务 器21、任务事务服务器22和任务服务器23。其中任务事务服务器22分别与 任务服务器21和任务服务器23连接。任务事务服务器22用于接收任务服务 器21和/或任务服务器23发送的任务请求,向任务服务器21和/或任务服务 器23进行反馈,并记录各个任务的执行情况;该任务的执行情况包括任务执 行者、上次任务执行时间和任务名称。任务服务器21和/或任务服务器23向 任务事务服务器22发送任务请求,并根据任务事务服务器22的反馈结果执 行该任务。任务服务器21进一步包括任务策略运行单元211、自我平衡单元212和 任务执行单元213,其中自我平衡单元212分别与任务策略运行单元211和任务执4亍单元213连接。4壬务策略运4亍单元211用于触发自我平衡单元212发 送任务请求;自我平衡单元212用于向任务事务服务器22发送任务请求,并 接收任务亊务服务器22发送的反馈结果,当该反馈结杲为任务服务器21可 以执行该任务时,自我平衡单元212检测任务服务器21是否忙碌,如果忙碌, 本文档来自技高网
...

【技术保护点】
一种分布式任务系统,其特征在于,包括任务事务服务器和至少一个任务服务器,    所述任务事务服务器,接收所述任务服务器发送的任务请求,向所述任务服务器进行反馈,并记录各个任务的执行情况;    所述任务服务器,向所述任务事务服务器发送任务请求,并根据所述任务事务服务器的反馈结果执行所述任务。

【技术特征摘要】
1. 一种分布式任务系统,其特征在于,包括任务事务服务器和至少一个任务服务器,所述任务事务服务器,接收所述任务服务器发送的任务请求,向所述任务服务器进行反馈,并记录各个任务的执行情况;所述任务服务器,向所述任务事务服务器发送任务请求,并根据所述任务事务服务器的反馈结果执行所述任务。2、 如权利要求1所述分布式任务系统,其特征在于,所述任务服务器 进一步包括自我平衡单元和任务执行单元;所述自我平衡单元,向所述任务事务服务器发送任务请求,并接收所述 任务事务服务器发送的反馈结果,根据所述反馈结果触发所述任务执行单元 执行所述任务;所述任务执行单元,与所述自我平衡单元连接,在所述自我平衡单元的 控制下执行所述任务。3、 如权利要求2所述分布式任务系统,其特征在于,所述任务服务器 还包括任务策略运行单元,与所述自我平衡单元连接,用于触发所述自我平 衡单元发送任务请求。4、 如权利要求2所述分布式任务系统,其特征在于,当所述反馈结果为 所述任务服务器可以执行所述任务时,所述自我平衡单元检测所述任务服务 器是否忙碌,如果忙碌,则向所述任务事务服务器发送任务检查消息;所述任务事务服务器检查是否有其它任务服务器申请所述任务,并向所 述自我平衡单元发送检查结果。5、 如权利要求4所述分布式任务系统,其特征在于,所述任务服务器的 忙碌情况包括当前线程数量大于或等于预先设定的线程数量门P艮值和/或当 前长时间线程数量大于或等于预先设定的长时间线程数量门限值和/或所述任 务服务器的运行能力值大于或等于1。6、 一种分布式任务管理方法,其特征在于,包括以下步骤 任务服务器向任务事务服务器发送任务请求消息;所述任务事务服务器根据记录的各个任务的执行情况,判断所述任务服务器是否可以执行所述任务,并将判断结果发送到所述任务服务器; 如果判断结果为是,则所述任务服务器执行所迷任务。7、 如权利要求6所述分布式任务管理方法,其特征在于,在任务服务器 向任务事务服务器发送任务请求消息后,如果在第一...

【专利技术属性】
技术研发人员:姚建东
申请(专利权)人:阿里巴巴公司
类型:发明
国别省市:KY[开曼群岛]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1