本发明专利技术公开了一种基于递归自主式复杂任务分解系统及方法。本发明专利技术具体包括如下步骤:1)任务分解系统由能力库、流水线库和递归分解模块组成;2)能力库包括人工能力和程序能力,两种能力均又包括分解能力和执行能力;3)流水线库中包含旧任务分解后的各执行能力的组合;4)递归分解模块接受用户提交的任务,通过递归处理将该任务分解成各个子任务,直到都能和能力库中的执行能力对应,建立新的任务流水线,添加到流水线库中;5)用户提交任务,判断任务是否为新任务,如果新任务先执行递归分解模块再到流水线库中匹配执行,如果是已知任务直接到流水线库中匹配执行。本发明专利技术采用递归自主式的模式让用户无需关心任务的复杂度就可以分解并执行任务。
【技术实现步骤摘要】
本专利技术涉及计算机软件系统领域,具体涉及。
技术介绍
随着网络技术的发展,台式机,笔记本,平板电脑,智能手机等电子设备也层出不穷,极大的方便了人们的生活与工作。人们可以通过移动设备随时随地发布电子数据,比如发微博,拍照,发邮件等。可以说,我们正生活在数据时代,很难估计全球存储的电子数据总量是多少,据IDC(Internet Data Center)估计2011年“数字全球”项目(digitaluniverse)的数据总量为1.8 ZB,而且这个数据每年都在迅速增加。I ZB相当于10的21次方字节的数据,或者相当于1000EB,1000000PB,或者10亿TB的数据。这相当于世界上每个人一个磁盘驱动器的数量级。此外,还有大量数据,大部分数据被锁定在最大的网页内容中(如搜索引擎)或者金融和科学机构,个人数据也正在快速的增长。但更重要的是,计算机所产生的数据更为庞大。机器日志、RFID读取器、传感器网络、车载GPS和零售交易数据等,这些都促使“数据之山越来越高”。公开发布的数据量也在逐年递增。作为企业或组织,再也不能只管理自己的数据,未来的成功在很大程度上取决于它是否能从其他组织的数据中提取出价值。因此,海量数据地处理就显得尤为重要。MapReduce是Google公司针对大规模群组中海量数据处理而开发的一种分布式编程模型。简单来说,Map是一个“分”的过程,它用于把海量数据分割成若干小块以分给若干台处理器去处理;而Reduce是一个“合”的过程,它主要把这些处理器执行后的结果进行汇总。MapReduce模型在整个系统中分为User、Master和Worker三个角色。User主要负责把用户程序提交给Master ;Master,主要负责数据划分、任务调度、负载均衡、容错处理等,它会根据各个Worker的负载情况选择空闲的Worker为其分配Map、Reduce任务;Worker是工作节点,负责从Master接收任务进行数据处理和计算。Worker又分为Map Worker和Reduce Worker, Map Worker负责解析任务的键值对,执行Map操作,然后将中间结果缓存在本地磁盘,并将地址返回给Master ;Reduce Worker从Master获得中间结果的键值对地址,读取数据,按key进行排序化简,并返回结果给用户程序。此模型非常方便使用,它隐藏了并行计算的细节,错误容灾,本地优化以及负载均衡。轻松完成大规模计算,比如,Google的网页搜索服务,排序,数据挖掘,机器学习,以及其他系统。通过MapReduce,应用程序可以再超过1000个节点的大型集群上运行,并提供经过优化的错误容灾。现有任务分解方法存在以下问题,1.在现有的任务分解方法中,由于任务与计算机分解程序是一对一的关系,用户提交的任务通常是大型而复杂的,程序只能根据特定的任务设计分解处理程序。这种方法加剧了任务与程序的依赖性:特定的程序只能处理特定的任务,分解方式串行,执行方式单一 ;2.任务与程序的依赖性,不利于任务的灵活持续分解,比如,当任务的优先级和处理速度发生变化的情况下,计算机网络无法自动进行配置来应对这种变化的发生,从而使得网络的任务处理能力降低。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供。一种基于递归自主式复杂任务分解系统,包括能力库、流水线库和递归分解模块。能力库是指对任务进行处理的各种能力的集合,包括人工能力和程序能力,人工能力和程序能力均包括分解能力和执行能力;人工能力是由人工处理任务的能力,程序能力是由计算机程序处理任务的能力,分解能力是将任务分解为多个子任务,执行能力是根据任务的处理流程完成任务,通过把多个执行能力组合可以得到大颗粒度的能力,能力库中的各个能力描述中需要包含特性参数,包括能力的价格、信誉、执行时间和限制条件,能力库中的各个能力由能力的所有者向能力库注册。流水线库包含多条流水线,每条流水线包含已知任务分解后的各子任务对应的执行能力的组合,且该组合是按各执行能力的执行先后顺序排列的,流水线库是指按一定的逻辑把所有已知任务的流水线进行统一管理。递归分解模块接受用户提交的任务,通过递归处理将任务分解成各个子任务,直到各个子任务都和能力库中的执行能力对应,建立新的流水线,并将新的流水线添加到流水线库中。一种基于递归自主式复杂任务分解方法,具体包括如下步骤: 步骤(I)任务分解系统接受提交的任务,首先交给递归分解模块进行处理; 步骤(2)递归分解模块查找流水线库中是否有该任务的对应流水线,如果找不到则任务为新任务,开始建立新任务的流水线,并跳转至步骤(3),如果找到则为已处理任务跳转至步骤(5); 所述的递归分解模块查找过程如下: 提取任务名称关键字,根据关键字到流水线库中查找,看是否有与关键字对应的流水线;若有多条流水线,则通过用户描述要求进行删选,选出最佳匹配;若有唯一流水线,则直接作为最佳匹配;若没有对应流水线,则建立新任务的流水线; 步骤(3)任务匹配能力库,通过匹配得到分解能力或者执行能力,得到分解能力转到步骤(4),得到执行能力转到步骤(5),如果分解能力和执行能力都匹配不到,则停止分解;所述的与能力库的匹配是指任务根据自身的颗粒度程度和特性参数,与能力库中多颗粒度和多特性参数的能力匹配,通过把已有的任务处理流水线作为一种新的执行能力注册到能力库中实现多颗粒度的能力,能力匹配时需要把任务的特性参数和能力的特性参数进行综合匹配,在满足特性参数的多个能力中选择最优能力。所述的多颗粒度和多特性参数是指多个子任务的颗粒度以及特性参数的总和。步骤(4)分解能力将该任务分解为各子任务,把每个子任务重新提交,转到步骤(2); 步骤(5)在该任务的任务处理流水线中添加该执行能力; 步骤(6)通过步骤(I) 步骤(5)的递归分解得到该任务的任务处理流水线,添加到任务处理流水线库。本专利技术有益效果如下: 本专利技术一方面减少了任务分解过程中任务与程序的依赖性,另一方面加强了网络任务的处理能力,适用于处理网络中日益增多的复杂任务;本专利技术通过递归和流水线技术,结合人工和计算机程序能力将其运用到网络中进行任务分解和执行。在任务分解过程中,递归把一个大型复杂的任务层层分解为多个规模较小的子任务来执行,大大地减少了计算的复杂度。在任务执行过程中,流水线将各个子任务处理的过程顺序组合化,并行执行,大大地提高了任务的处理效率。同时,本专利技术已经被实际系统使用证明是切实可行的,满足了计算机网络中对复杂任务进行灵活多变分解和执行的需求。附图说明图1基于递归自主式任务分解的系统模型; 图2递归任务分解模块流程 图3实施例的原理示意图。具体实施例方式下面结合附图和实施例对本专利技术做进一步说明。如图1所示,一种基于递归自主式复杂任务分解系统,包括能力库、流水线库和递归分解模块。能力库是指对任务进行处理的各种能力的集合,包括人工能力和程序能力,人工能力和程序能力均包括分解能力和执行能力;人工能力是由人工处理任务的能力,程序能力是由计算机程序处理任务的能力,分解能力是将任务分解为多个子任务,执行能力是根据任务的处理流程完成任务,通过把多个执行能力组合可以得到大颗粒度的能力,能力库中的各个能力描述中需要本文档来自技高网...
【技术保护点】
一种基于递归自主式复杂任务分解系统,包括能力库、流水线库和递归分解模块;其特征在于:能力库是指对任务进行处理的各种能力的集合,包括人工能力和程序能力,人工能力和程序能力均包括分解能力和执行能力;人工能力是由人工处理任务的能力,程序能力是由计算机程序处理任务的能力,分解能力是将任务分解为多个子任务,执行能力是根据任务的处理流程完成任务,通过把多个执行能力组合可以得到大颗粒度的能力,能力库中的各个能力描述中需要包含特性参数,包括能力的价格、信誉、执行时间和限制条件,能力库中的各个能力由能力的所有者向能力库注册;流水线库包含多条流水线,每条流水线包含已知任务分解后的各子任务对应的执行能力的组合,且该组合是按各执行能力的执行先后顺序排列的,流水线库是指按一定的逻辑把所有已知任务的流水线进行统一管理;递归分解模块接受用户提交的任务,通过递归处理将任务分解成各个子任务,直到各个子任务都和能力库中的执行能力对应,建立新的流水线,并将新的流水线添加到流水线库中。
【技术特征摘要】
1.一种基于递归自主式复杂任务分解系统,包括能力库、流水线库和递归分解模块;其特征在于: 能力库是指对任务进行处理的各种能力的集合,包括人工能力和程序能力,人工能力和程序能力均包括分解能力和执行能力;人工能力是由人工处理任务的能力,程序能力是由计算机程序处理任务的能力,分解能力是将任务分解为多个子任务,执行能力是根据任务的处理流程完成任务,通过把多个执行能力组合可以得到大颗粒度的能力,能力库中的各个能力描述中需要包含特性参数,包括能力的价格、信誉、执行时间和限制条件,能力库中的各个能力由能力的所有者向能力库注册; 流水线库包含多条流水线,每条流水线包含已知任务分解后的各子任务对应的执行能力的组合,且该组合是按各执行能力的执行先后顺序排列的,流水线库是指按一定的逻辑把所有已知任务的流水线进行统一管理; 递归分解模块接受用户提交的任务,通过递归处理将任务分解成各个子任务,直到各个子任务都和能力库中的执行能力对应,建立新的流水线,并将新的流水线添加到流水线库中。2.一种基于递归自主式复杂任务分解系统的方法,具体包括如下步骤: 步骤(I)任务分解系统接受提交的任务,首先交给递归分解模块进行处理; 步骤(2)递归分解模块查找流水线库中是否有该任务的对应流水线,如果找不到则任务为新任务...
【专利技术属性】
技术研发人员:诸葛斌,王伟明,戴国伟,
申请(专利权)人:浙江工商大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。