大数据即时调度方法技术

技术编号:16219569 阅读:51 留言:0更新日期:2017-09-16 02:01
本发明专利技术提供了一种大数据即时调度方法,该方法包括:主节点将作业分成独立的任务,负载节点向主节点申请并执行任务;主节点对作业进行一级分片,获取到此分片中所有二级分片的执行信息打包发送给负载;负载对此片做内存映射和二次分片,然后放入线程池;负载节点的每个线程执行完成一个二级任务分片后进行一次reduce,将结果发送给主节点,主节点将负载发送来的结果进行reduce操作;分配符合主机列表文件要求的负载进程主节点,将任务通过map过程分发给负载节点,并从负载节点通过reduce过程得到对应的任务结果;归并中间结果得到最终结果,主节点将最终的作业结果通过套接字通信远程反馈给相对应的任务提交者。本发明专利技术提出了一种大数据即时调度方法,提高了云计算的效率,以满足高性能云计算的需要。

Real time scheduling method for large data

The present invention provides a real-time scheduling method for large data, the method includes: the master node assignments into independent tasks, load nodes to apply to the master node and task execution; the master node operations a slice, get this slice of all two slice execution information sent to the load; load this piece of memory mapping and two slices, and then add the thread pool thread; each load node performs a two task after a reduce, send the results to the master node, the master node will send to load the reduce operation process; load allocation in accordance with the master node host list file the requirements of the task will be distributed through the map process to the load node, and from the load node through the reduce process to obtain the corresponding results merging task; intermediate results to get the final result, the main festival The final job results are communicated remotely via socket communications to corresponding task holders. The invention provides a real-time scheduling method for large data, which improves the efficiency of cloud computing to meet the needs of high-performance cloud computing.

【技术实现步骤摘要】
大数据即时调度方法
本专利技术涉及大数据,特别涉及一种大数据即时调度方法。
技术介绍
云计算通过互联网将庞大的数据存储和计算处理程序分布到集群系统的计算机中,并且提供相应的应用程序服务。用户在对资源提交访问请求时,系统能够自动地将请求切换到实际的存放资源的计算机和存储系统。虚拟化技术的云计算平台在海量数据处理方面取得了令人满意的成果。但云计算将海量数据分布在大规模集群上进行并行处理,由于目前主流云计算平台底层采用虚拟化技术,其上所有软件和应用均运行在虚拟硬件之上,这种策略必然带来一定程度上的性能降低。而且MapReduce内部实现机制是采用先存储数据再读出转发处理的策略,当中间数据量变大、个数增多时,这种模式必然产生大量的无用的磁盘I/O操作;如果数据在远端,这样会增加网络负载;如果数据在本地,则会受I/O瓶颈限制,从而降低了任务执行的效率。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种大数据即时调度方法,包括:主节点将作业分成独立的任务,并维护任务状态数组;负载节点启动后,向主节点申请任务,得到任务后按预定的方案执行任务;任务执行完成后,将任务的结果反馈给主节点并申请下一个任务;如果负载节点得到的任务信息无效,则本次并行计算任务成功完成,负载节点结束业务;从任务队列取出最高优先级的作业;主节点对作业进行分片,得到一级分片,放入负载池;主节点查询状态表得到一级分片的信息,然后获取到此分片中所有二级分片的执行信息打包发送给负载;负载接收到任务,对此片做内存映射和二次分片,检测总的核心数,建立线程池,然后将分片放入线程池,线程通过负载内部状态表取得二级任务分片,直到表中内容全部为执行完成;负载节点的每个线程执行完成一个二级任务分片后进行一次reduce,将reduce结果和内部状态表发送给主节点,主节点确定是否给此负载发送另外一个分片,若需要发送新的任务,则继续取任务发送给负载;直到状态表中内容全部为执行完成后,主节点给每个负载发送退出指令,负载触发事件信号,通知监控等待退出,所有负载和主节点等待一起退出;主节点将负载发送来的结果进行reduce操作;主节点分析传入的命令行参数以得到本次并行接口作业的相关信息;依据主机列表文件,动态分配多个负载节点并构成一个通信域,然后等待负载节点申请任务或提交任务结果;然后基于并行计算接口的动态进程创建与管理模型,分配符合主机列表文件要求的负载进程主节点将任务通过map过程分发给负载节点,并从负载节点通过reduce过程得到对应的任务结果;归并这些中间结果,得到本次并行计算作业的最终结果,最后把这个结果远程反馈给任务提交者;一旦主节点侦测到某一个负载节点发生异常,则产生新的主机列表文件,并分配新的负载节点来接替异常的负载节点执行任务;如果主节点发现任务对应的状态数组中的所有项都是已完成,则主节点将最终的作业结果通过套接字通信远程反馈给相对应的任务提交者。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种大数据即时调度方法,提高了云计算的效率,以满足高性能云计算的需要。附图说明图1是根据本专利技术实施例的大数据即时调度方法的流程图。具体实施方式下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了一种大数据即时调度方法。图1是根据本专利技术实施例的大数据即时调度方法流程图。本专利技术设计的高性能云计算平台不经过虚拟化,直接使用异构计算节点构建云平台底层;采用增加多级容错功能的并行计算接口技术和多线程技术重写MapReduce,在计算中避免大量的无用的I/O操作,从而提高了云计算的效率,以满足高性能云计算的需要。在节点异构环境下,基于HADOOP,使用异构硬件架设云基础设施服务层,实现作业二次调度,作业/任务回滚和动态迁移,基于多级容错并行计算接口的建立MapReduce架构。对中间结果进行直接处理,减少不必要的I/O操作。本专利技术的基于HADOOP的云计算平台架构包括异构计算节点、基于并行计算接口的容错单元、监控模块、作业管理模块、任务管理模块、分布式数据库和MapReduce计算框架。作业管理模块用于保存作业队列,管理作业的调度,监控作业的执行,提供相应的容错,支持远程作业提交以及结果返回。监控模块用于管理可用主机列表,发现异常节点并根据负载情况对节点排序,以首先选择负载最小的节点执行任务。任务管理模块用于任务划分和分配调度,任务执行,收集并返回结果。作业管理模块中包含作业通信子模块,根据用户交互,实现作业提交与结果反馈;作业管理子模块据作业的管理和调度,维护作业队列,按优先级进行作业调度;监控模块据监控所有节点的运行情况和负载程度,并据此为任务执行模块提供所需的主机列表文件。任务管理模块是作业的具体执行模块,对作业进行分片,并对分片进行合理调度,最后收集并反馈计算结果。任务管理模块得到作业管理与调度模块分发的作业后,按设定的策略将作业划分成多个任务,与监控模块进行交互以生成调度执行并行计算任务所需的主机列表文件;然后基于并行计算接口的动态进程创建与管理模型,分配符合主机列表文件要求的负载进程主节点将任务通过map过程分发给负载节点,并从负载节点那里通过reduce过程得到对应的任务结果;归并这些中间结果就可以得到本次并行计算作业的最终结果,最后把这个结果远程反馈给任务提交者。一旦主节点侦测到某一个负载节点发生异常,则与监控模块交互以产生新的主机列表文件,并分配新的负载节点来接替异常的负载节点执行任务。作业通信子模块初始化后,依照用户的设定,需要绑定的本地套接服务器地址以及作业管理子模块的套接服务器远程地址,并创建两个工作线程:等待线程:循环等待接收来自任务管理模块反馈的作业结果;发送线程,一旦用户提交了新作业,基于作业管理子模块的服务器地址,借助套接字把用户输入的作业打包发送给作业管理子模块。作业管理子模块等待作业通信子模块提交给自己的作业。在工作线程中,创建了两个工作线程。解析线程,用于维护本地的套接服务器,得到作业通信子模块远程提交的作业,解析该信息并确认该信息是否符合规则,将合格的作业绑定作业提交者的地址后放置到多优先级作业队列中,以待被调度执行。扫描线程,循环扫描多优先级作业队列以确定队列中是否有较高优先级的作业,若有较高优先级的作业存在,则取出作业,依据作业构造命令行并启动多个任务执行模块的进程来完成本次并行计算作业;循环等待本次并行计算作业执行结束;如果是作业不是正常执行完成则判断发生异常,则重新调度执行本次作业。主节点分析传入的命令行参数以得到本次并行接口作业的相关信息。依据监控模块生成的主机列表文件,动态分配多个负载节点并构成一个通信域,然后等待负载节点申请任务或提交任务结果。主节点将作业分成独立的任务,并维护一个初始值均为0的任务状态数组,用以记录任务执行情况。一但有负载节点申请任务,则先搜索得到状态数组中为0的项所对应的任务本文档来自技高网...
大数据即时调度方法

【技术保护点】
一种大数据即时调度方法,其特征在于,包括:主节点将作业分成独立的任务,并维护任务状态数组;负载节点启动后,向主节点申请任务,得到任务后按预定的方案执行任务;任务执行完成后,将任务的结果反馈给主节点并申请下一个任务;如果负载节点得到的任务信息无效,则本次并行计算任务成功完成,负载节点结束业务;从任务队列取出最高优先级的作业;主节点对作业进行分片,得到一级分片,放入负载池;主节点查询状态表得到一级分片的信息,然后获取到此分片中所有二级分片的执行信息打包发送给负载;负载接收到任务,对此片做内存映射和二次分片,检测总的核心数,建立线程池,然后将分片放入线程池,线程通过负载内部状态表取得二级任务分片,直到表中内容全部为执行完成;负载节点的每个线程执行完成一个二级任务分片后进行一次reduce,将reduce结果和内部状态表发送给主节点,主节点确定是否给此负载发送另外一个分片,若需要发送新的任务,则继续取任务发送给负载;直到状态表中内容全部为执行完成后,主节点给每个负载发送退出指令,负载触发事件信号,通知监控等待退出,所有负载和主节点等待一起退出;主节点将负载发送来的结果进行reduce操作;主节点分析传入的命令行参数以得到本次并行接口作业的相关信息;依据主机列表文件,动态分配多个负载节点并构成一个通信域,然后等待负载节点申请任务或提交任务结果;然后基于并行计算接口的动态进程创建与管理模型,分配符合主机列表文件要求的负载进程主节点将任务通过map过程分发给负载节点,并从负载节点通过reduce过程得到对应的任务结果;归并这些中间结果,得到本次并行计算作业的最终结果,最后把这个结果远程反馈给任务提交者;一旦主节点侦测到某一个负载节点发生异常,则产生新的主机列表文件,并分配新的负载节点来接替异常的负载节点执行任务;如果主节点发现任务对应的状态数组中的所有项都是已完成,则主节点将最终的作业结果通过套接字通信远程反馈给相对应的任务提交者。...

【技术特征摘要】
1.一种大数据即时调度方法,其特征在于,包括:主节点将作业分成独立的任务,并维护任务状态数组;负载节点启动后,向主节点申请任务,得到任务后按预定的方案执行任务;任务执行完成后,将任务的结果反馈给主节点并申请下一个任务;如果负载节点得到的任务信息无效,则本次并行计算任务成功完成,负载节点结束业务;从任务队列取出最高优先级的作业;主节点对作业进行分片,得到一级分片,放入负载池;主节点查询状态表得到一级分片的信息,然后获取到此分片中所有二级分片的执行信息打包发送给负载;负载接收到任务,对此片做内存映射和二次分片,检测总的核心数,建立线程池,然后将分片放入线程池,线程通过负载内部状态表取得二级任务分片,直到表中内容全部为执行完成;负载节点的每个线程执行完成一个二级任务分片后进行一次reduce,将reduce结果和内部状态表发送给主节点,主节点确定是否给此负载发送另外一个分片,若需要发送新的任务,则继续取任务发送给负载;...

【专利技术属性】
技术研发人员:赖真霖文君
申请(专利权)人:成都四象联创科技有限公司
类型:发明
国别省市:四川,51

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

1