[发明专利]分布式大批量动态任务引擎及采用其处理数据的方法有效
申请号: | 201310556948.0 | 申请日: | 2013-11-12 |
公开(公告)号: | CN103678488A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 杨洋 | 申请(专利权)人: | 德比软件(上海)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200000 上海市浦东张江高*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 大批量 动态 任务 引擎 采用 处理 数据 方法 | ||
技术领域
本发明涉及分布式任务技术领域,特别涉及一种分布式大批量动态任务引擎及采用该分布式大批量动态任务引擎处理数据的方法。
背景技术
在WEB系统中,常常需要实现定时任务执行的部分。在常规的JavaEE系统中,普遍采用Quartz进行简单的任务调度,设置任务的执行频率。到达执行时,在本机执行此任务,并且处理任务的结果进行存储等。但是随着任务数量和种类的增加,系统面临几方面的挑战。
1.在小型的服务器系统中,一般抓取数据和数据处理都由一台服务器来实现,但随着数据量的增大,一台服务器的效能已经不能满足系统的要求。由于这种单一服务器的系统难以满足任务执行要求,必然需要调用大批量的服务器进行运算执行。
2.任务的执行内容根据不同的业务要求,可能千差万别,并且随时可能调整变更。常规情况下,不同的任务往往通过不同的参数来区别执行。执行任务的服务器需要装载所有可能任务的执行程序来执行这些不同的任务。当新类型的任务增加时,需要更新所有的任务执行服务器来支持。
3.任务的结果需要集中式处理和存储。
发明内容
有鉴于此,本发明针对现有技术的问题,提出了一种分布式大批量动态任务引擎(Distribution Task Engine,DTE)。该分布式大批量动态任务引擎包括DTE网关服务器(DTE Gateway)以及DTE代理服务器(DTE Agent)两部分。其中,DTE网关服务器用于管理DTE代理服务器。DTE代理服务器是用于执行任务的服务器。使用该动态任务引擎的是任务客户端(Task Client)和任务管理器(Task Manager)。任务客户端(Task Client)是指某些服务器只是需要执行某一类任务。任务管理器(Task Manager)是指某些服务器需要执行某一组任务,并且需要管理这些任务。
该动态任务引擎将任务的执行通过相应的任务脚本及配套的参数来表示。当需要执行任务时,需要同时提供任务的脚本、配套参数、回调地址以及任务的唯一身份识别码(ID)、任务的优先级,并且把任务提交到DTE网关服务器。DTE网关服务器将把任务分配到相对空闲的DTE代理服务器(DTE Agent)去执行。
DTE代理服务器(DTE Agent)中有一个任务等待队列和执行队列。在DTE代理服务器(DTE Agent)的执行队列空闲时,提交过来的任务会被立即放入到执行队列中执行。如果执行队列已满,则DTE代理服务器(DTE Agent)会把任务放入到等待队列中,根据任务的优先级来排序。在相同优先级的情况下,后放入的任务会在先被执行。当执行某个具体任务时,DTE代理服务器(DTE Agent)会加载可执行此任务脚本的脚本引擎,将任务参数和任务脚本组合起来执行。考虑到大多数情况下需要执行的任务中包含很多子任务,DTE代理服务器(DTE Agent)包含一个子任务执行队列。任务执行队列和子任务执行队列都是以并发的模式来执行,加速任务的完成。同时DTE代理服务器(DTE Agent)支持两种子任务的生成机制。第一种是根据任务中的迭代参数产生批量的子任务,第二种是根据任务中提供的子任务管理脚本动态生成。
DTE代理服务器(DTE Agent)会收集该脚本的结果,将结果通过回调地址传递给相应的任务结果处理服务器。通常情况下,任务结果处理服务器就是任务的发起者,即任务客户端(Task Client)或者任务管理器(Task Manager)。
当任务的结果数量增大时,也可以将提供专门的任务结果处理服务器集群,将结果回调到该集群来处理。这只需要修改任务的回调地址即可。
当任务的执行内容或方式变更时,只需要变更任务客户端(Task Client)或者任务管理器(Task Manager)中的任务脚本,而分布式大批量动态任务引擎(DTE)不需要做出任务修改。
同时,在服务器的部署上也相当灵活。不同的任务管理器(Task Manager)或者任务客户端(Task Client)可以共享一组巨大的DTE代理服务器(DTE Agent)。在特定的情况下,也可以单独部署一组DTE代理服务器(DTE Agent)来处理某些特殊的任务。
附图说明
图1是本发明提出的分布式大批量动态任务引擎的结构示意图;
图2是本发明提出的分布式大批量动态任务引擎应用的第一实施例;
图3是本发明提出的分布式大批量动态任务引擎应用的第二实施例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于德比软件(上海)有限公司,未经德比软件(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310556948.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:从塑料透镜去除铸模的方法
- 下一篇:一种桑树枝条颗粒生物燃料的制备方法