一种大数据处理的分布式调度系统及方法技术方案

技术编号:13983037 阅读:91 留言:0更新日期:2016-11-12 16:54
本发明专利技术提供了一种大数据处理的分布式调度系统及方法,该系统包括:客户端、多个调度中心及多个计算节点;调度中心接收并存储每个计算节点发送的节点信息,节点信息包括节点位置信息及性能特征信息;客户端从调度中心获取每个计算节点的节点信息,根据当前分配给每个计算节点的任务数目及每个计算节点的性能特征信息,分别计算每个计算节点对应的负载率,根据每个计算节点对应的负载率,将待调度任务分配给负载率最小的计算节点;计算节点发送节点信息给每个调度中心,接收并处理客户端发送的待调度任务。本发明专利技术由客户端进行调度,任务数据不经过调度中心,避免调度中心的瓶颈限制。且负载均衡时考虑了计算节点的性能,能够实现均匀调度。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及一种大数据处理的分布式调度系统及方法
技术介绍
随着信息技术的迅猛发展,行业应用所产生的数据呈爆炸性增长,产生数百TB(Terabyte)甚至数十至数百PB(Petabyte)规模的大数据,所产生的大数据要求计算机及信息系统具备更高的处理能力。当前,相关技术提供了一种大数据处理方法,该方法进行大数据处理的网络架构如图1所示,客户端发送任务数据给调度中心,调度中心根据服务器集群中每个服务器正在处理的任务数量,将上述任务数据调度给正在处理的任务数量最少的服务器进行处理。由于任务数据必须经调度中心进行调度,而调度中心的调度能力有限,限制了整个数据处理架构的处理能力。且即便正在处理的任务数量相同,总计算量也可能不同,对计算能力不同的服务器来说负荷也不相同,因此基于正在处理的任务数量进行调度,很可能导致调度不均匀,无法有效保障负载均衡。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种大数据处理的分布式调度系统及方法,由客户端进行调度,任务数据不经过调度中心,避免调度中心的瓶颈限制。且负载均衡时考虑了计算节点的性能,能够实现均匀调度。第一方面,本专利技术实施例提供了一种大数据处理的分布式调度系统,所述系统包括:客户端、多个调度中心及多个计算节点;所述调度中心,用于接收并存储每个计算节点发送的节点信息,所述节点信息包括节点位置信息及性能特征信息;所述客户端,用于从调度中心获取每个计算节点的节点信息,根据当前分配给每个计算节点的任务数目及每个计算节点的性能特征信息,分别计算每个计算节点对应的负载率,根据所述每个计算节点对应的负载率,将待调度任务分配给负载率最小的计算节点;所述计算节点,用于发送节点信息给每个调度中心,接收并处理所述客户端发送的待调度任务。结合第一方面,本专利技术实施例提供了上述第一方面的第一种可能的实现方式,其中,所述客户端,用于通过软件开发工具包SDK提供的接口,建立与调度中心之间的通信连接,通过建立的所述通信连接从调度中心获取每个计算节点的节点信息。结合第一方面,本专利技术实施例提供了上述第一方面的第二种可能的实现方式,其中,所述客户端,用于通过软件开发工具包SDK分别为所述每个计算节点创建对应的虚拟节点;在创建的虚拟节点中,存储虚拟节点对应的计算节点的节点信息,并构建等待队列和工作队列;通过所述SDK提供的接口,建立创建的虚拟节点与对应的计算节点之间的通信连接。结合第一方面,本专利技术实施例提供了上述第一方面的第三种可能的实现方式,其中,所述客户端,用于统计第一计算节点对应的等待队列和工作队列中包括的任务数目,将统计的任务数目确定为当前分配给所述第一计算节点的任务数目,所述第一计算节点为所述每个计算节点中的任一计算节点;从所述第一计算节点的性能特征信息中获取所述第一计算节点的中央处理器CPU核数及主频;根据所述CPU核数及所述主频,计算所述第一计算节点的计算能力值;根据当前分配给所述第一计算节点的任务数目及所述计算能力值,计算所述第一计算节点对应的负载率。结合第一方面的第二种可能的实现方式,本专利技术实施例提供了上述第一方面的第四种可能的实现方式,其中,所述客户端,用于根据所述每个计算节点对应的负载率,按照预设顺序对所述每个计算节点对应的虚拟节点进行排序;从排序后的虚拟节点中选择负载率最小的虚拟节点;通过调度器将所述待调度任务插入所述负载率最小的虚拟节点的等待队列的队尾。结合第一方面的第四种可能的实现方式,本专利技术实施例提供了上述第一方面的第五种可能的实现方式,其中,所述客户端,用于通过任务发送器经所述负载率最小的虚拟节点与对应的计算节点之间的通信连接,发送所述待调度任务给所述对应的计算节点;从所述负载率最小的虚拟节点的等待队列中删除所述待调度任务;将所述待调度任务插入所述负载率最小的虚拟节点的工作队列的队尾。结合第一方面的第五种可能的实现方式,本专利技术实施例提供了上述第一方面的第六种可能的实现方式,其中,所述客户端,用于接收负载率最小的计算节点返回的所述待调度任务对应的处理结果;从所述负载率最小的虚拟节点的工作队列中删除所述待调度任务。结合第一方面的第二种可能的实现方式,本专利技术实施例提供了上述第一方面的第七种可能的实现方式,其中,所述客户端,用于在创建的虚拟节点中设置定时器;通过所述定时器分别记录虚拟节点的工作队列中每个任务的处理时长;当检测到处理时长超过预设时长的任务时,从所述工作队列中删除处理时长超过预设时长的任务,并显示超时错误提示信息。第二方面,本专利技术实施例提供了一种大数据处理的分布式调度方法,所述方法包括:从调度中心获取每个计算节点的节点信息,所述节点信息包括节点位置信息及性能特征信息;根据当前分配给每个计算节点的任务数目及每个计算节点的性能特征信息,分别计算每个计算节点对应的负载率;根据所述每个计算节点对应的负载率,将待调度任务分配给负载率最小的计算节点。结合第二方面,本专利技术实施例提供了上述第二方面的第一种可能的实现方式,其中,所述根据当前分配给每个计算节点的任务数目及每个计算节点的性能特征信息,分别计算每个计算节点对应的负载率,包括:统计第一计算节点对应的等待队列和工作队列中包括的任务数目,将统计的任务数目确定为当前分配给所述第一计算节点的任务数目,所述第一计算节点为所述每个计算节点中的任一计算节点;从所述第一计算节点的性能特征信息中获取所述第一计算节点的中央处理器CPU核数及主频;根据所述CPU核数及所述主频,计算所述第一计算节点的计算能力值;根据当前分配给所述第一计算节点的任务数目及所述计算能力值,计算所述第一计算节点对应的负载率。结合第二方面,本专利技术实施例提供了上述第二方面的第二种可能的实现方式,其中,所述从调度中心获取每个计算节点的节点信息,包括:通过软件开发工具包SDK提供的接口,建立与调度中心之间的通信连接;通过建立的所述通信连接,从所述调度中心获取每个计算节点的节点信息。结合第二方面,本专利技术实施例提供了上述第二方面的第三种可能的实现方式,其中,所述从调度中心获取每个计算节点的节点信息之后,还包括:通过软件开发工具包SDK分别为所述每个计算节点创建对应的虚拟节点;在创建的虚拟节点中,存储虚拟节点对应的计算节点的节点信息,并构建等待队列和工作队列;通过所述SDK提供的接口,建立创建的虚拟节点与对应的计算节点之间的通信连接。结合第二方面的第三种可能的实现方式,本专利技术实施例提供了上述第二方面的第四种可能的实现方式,其中,所述根据所述每个计算节点对应的负载率,将待调度任务分配给负载率最小的计算节点,包括:根据所述每个计算节点对应的负载率,按照预设顺序对所述每个计算节点对应的虚拟节点进行排序;从排序后的虚拟节点中选择负载率最小的虚拟节点;通过调度器将待调度任务插入负载率最小的虚拟节点的等待队列的队尾。结合第二方面的第四种可能的实现方式,本专利技术实施例提供了上述第二方面的第五种可能的实现方式,其中,所述方法还包括:通过任务发送器经负载率最小的虚拟节点与对应的计算节点之间的通信连接,发送所述待调度任务给所述对应的计算节点;从负载率最小的虚拟节点的等待队列中删除所述待调度任务;将所述待调度任务插入负载率最小的虚拟节点中的工作队列的队尾。结合第二方面本文档来自技高网...

【技术保护点】
一种大数据处理的分布式调度系统,其特征在于,所述系统包括:客户端、多个调度中心及多个计算节点;所述调度中心,用于接收并存储每个计算节点发送的节点信息,所述节点信息包括节点位置信息及性能特征信息;所述客户端,用于从调度中心获取每个计算节点的节点信息,根据当前分配给每个计算节点的任务数目及每个计算节点的性能特征信息,分别计算每个计算节点对应的负载率,根据所述每个计算节点对应的负载率,将待调度任务分配给负载率最小的计算节点;所述计算节点,用于发送节点信息给每个调度中心,接收并处理所述客户端发送的待调度任务。

【技术特征摘要】
1.一种大数据处理的分布式调度系统,其特征在于,所述系统包括:客户端、多个调度中心及多个计算节点;所述调度中心,用于接收并存储每个计算节点发送的节点信息,所述节点信息包括节点位置信息及性能特征信息;所述客户端,用于从调度中心获取每个计算节点的节点信息,根据当前分配给每个计算节点的任务数目及每个计算节点的性能特征信息,分别计算每个计算节点对应的负载率,根据所述每个计算节点对应的负载率,将待调度任务分配给负载率最小的计算节点;所述计算节点,用于发送节点信息给每个调度中心,接收并处理所述客户端发送的待调度任务。2.根据权利要求1所述的系统,其特征在于,所述客户端,用于通过软件开发工具包SDK提供的接口,建立与调度中心之间的通信连接,通过建立的所述通信连接从调度中心获取每个计算节点的节点信息。3.根据权利要求1所述的系统,其特征在于,所述客户端,用于通过软件开发工具包SDK分别为所述每个计算节点创建对应的虚拟节点;在创建的虚拟节点中,存储虚拟节点对应的计算节点的节点信息,并构建等待队列和工作队列;通过所述SDK提供的接口,建立创建的虚拟节点与对应的计算节点之间的通信连接。4.根据权利要求1所述的系统,其特征在于,所述客户端,用于统计第一计算节点对应的等待队列和工作队列中包括的任务数目,将统计的任务数目确定为当前分配给所述第一计算节点的任务数目,所述第一计算节点为所述每个计算节点中的任一计算节点;从所述第一计算节点的性能特征信息中获取所述第一计算节点的中央处理器CPU核数及主频;根据所述CPU核数及所述主频,计算所述第一计算节点的计算能力值;根据当前分配给所述第一计算节点的任务数目及所述计算能力值,计算所述第一计算节点对应的负载率。5.根据权利要求3所述的系统,其特征在于,所述客户端,用于根据所述每个计算节点对应的负载率,按照预设顺序对所述每个计算节点对应的虚拟节点进行排序;从排序后的虚拟节点中选择负载率最小的虚拟节点;通过调度器将所述待调度任务插入所述负载率最小的虚拟节点的等待队列的队尾。6.根据权利要求5所述的系统,其特征在于,所述客户端,用于通过任务发送器经所述负载率最小的虚拟节点与对应的计算节点之间的通信连接,发送所述待调度任务给所述对应的计算节点;从所述负载率最小的虚拟节点的等待队列中删除所述待调度任务;将所述待调度任务插入所述负载率最小的虚拟节点的工作队列的队尾。7.根据权利要求6所述的系统,其特征在于,所述客户端,用于接收负载率最小的计算节点返回的所述待调度任务对应的处理结果;从所述负载率最小的虚拟节点的工作队列中删除所述待调度任务。8.根据权利要求3所述的系统,其特征在于,所述客户端,用于在创建的虚拟节点中设置定时器;通过所述定时器分别记录虚拟节点的工作队列中每个任务的处理时长;当检测到处理时长超过预设时长的任务时,从所述工作队列中删除处理时长超过预设时长的任务,并显示超时错误提示信息。9.一种大数据处理的分布式调度...

【专利技术属性】
技术研发人员:周光明蒋宗文郭军
申请(专利权)人:东方网力科技股份有限公司
类型:发明
国别省市:北京;11

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

1