[发明专利]一种可动态扩展的任务分发处理方法无效
| 申请号: | 201110186624.3 | 申请日: | 2011-07-05 |
| 公开(公告)号: | CN102316156A | 公开(公告)日: | 2012-01-11 |
| 发明(设计)人: | 陈诚;高尚;李剑华 | 申请(专利权)人: | 万达信息股份有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08 |
| 代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹;柏子雵 |
| 地址: | 201112 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动态 扩展 任务 分发 处理 方法 | ||
技术领域
本发明涉及一种计算机任务的分发及处理方法。
背景技术
在传统应用中广泛使用多线程技术实现软件并发解决模块性能问题。在Java领域,先后在JDK5.0 (2006)和JDK7.0 (2010)中提供了Java ThreadPool和Fork/Join框架实现,其中后者更是面向多核处理器的高效化解决方案,但是目前它们均只能工作在单JVM环境中。随着应用的不断复杂化,云计算浪潮不断掀起,以Google为代表的互联网企业,推出了面向分布式计算的Map/Reduce的模型,这个模型解决了海量数据分布存储情况下的处理问题,但它是以数据为中心的,仍不适合逻辑优先的计算。
发明内容
本发明的目的是提供一种保证任务在单机及分布式环境下得到有效分发及处理的方法。
为了达到上述目的,本发明的技术方案是提供了一种可动态扩展的任务分发处理方法,其特征在于,步骤为:
步骤1、评估:针对任务的类型和特征,对提交的任务进行分发评估,若该任务仅需要在本地进行处理,则进入等待队列,若需要网络协同完成,则进入步骤2;
步骤2、分发:根据分布式环境中各个工作节点的实时部署和负载状况将同一类型的一组任务与可能的工作节点绑定,再根据该组任务中每个任务的先后次序将每个任务分别挂载到工作节点中;
步骤3、处理:工作节点接收到某个类型的一组任务后,依先后次序分别执行每个任务,执行完毕后返回执行结果;
步骤4、归并:将所有返回的执行结果依据任务类型进行汇总合并,合并结束后将执行后的任务返回。
本发明提供了一种高性能、高可用、高可靠的任务分发及处理方法,针对复杂逻辑处理和并发访问,保证任务在单机及分布式环境下的有效分发。
附图说明
图1为任务分发工作原理图;
图2为任务状态跃迁图。
具体实施方式
以下结合实施例来具体说明本发明。
实施例
本发明提供了一种可动态扩展的任务分发处理方法,步骤为:
步骤1、评估(evaluate):针对任务的类型(taskType)和特征(对应的List<Task>),对提交的任务进行分发评估,返回LocalTaskList和DistributeTaskList,LocalTaskList代表需要本地运行的任务,DistributeTaskList代表需要网络协同完成的任务,若该任务仅需要在本地进行处理,则进入等待队列,若需要网络协同完成,则进入步骤2;
步骤2、分发(distribute):distribute分为两个子阶段:水平分发和垂直分发。对于水平分发过程,主控节点在此前会完成相应工作节点及其包含模块的注册(通过远程指令),在收到任务后,主控节点检索任务的类型taskType,并根据实时部署和负载状况将具有相同类型的一组任务与可能的工作节点绑定,进而通过网络将任务传递到对应工作节点,工作节点接受到任务后,则根据任务类型载入对应的计算模块,在该模块的Context中实施任务调度。该过程默认是自动完成的,但开发人员可以对任务的绑定设置过滤进行干预;在挂载工作节点过程中,可以启动垂直分发,需要处理的参数为taskType,开发人员可以对当前的任务进行切分,形成多个并行的子任务(childTask),子任务中包含父任务ID,多个并行的子任务再次实施再分发,将多个并行的childTask挂载到不同的工作节点上,垂直分发是可以逐层递归的,并且需要人工干预的;
步骤3、处理(map):工作节点接收到某个类型的一组任务后,包括经过垂直分发的子任务,依先后次序分别执行每个任务,map过程中可以引入线程池提高执行效率,执行完毕后返回执行结果FinishedTaskList;
步骤4、归并(merge):将map返回的所有执行结果进行汇总合并,合并的依据为taskType,传入参数为taskType和完成的任务List<Task>,开发人员可以在此对结果进行筛选,修正等,需要返回PrunedTaskList,在此过程中,若存在子任务,则会往上递归到根级任务的归并,归并结束后将执行后的任务返回。
同时,任务提交后,无论在本地还是在分布式环境中,均可以实时的跟踪任务的处理状态,以及控制任务的及时中止,状态跃迁图如图1所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于万达信息股份有限公司,未经万达信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110186624.3/2.html,转载请声明来源钻瓜专利网。





