大数据处理方法及大数据处理装置的制造方法

文档序号:9727410阅读:203来源:国知局
大数据处理方法及大数据处理装置的制造方法
【技术领域】
[0001 ]本发明涉及计算机技术领域,具体而言,涉及一种大数据处理方法和一种大数据处理装置。
【背景技术】
[0002]目前,传统的大数据处理方式,在程序运行过程中,是单服务器、单线程的,这时如果数据量很大的时候,不仅会造成运行时间很长,也有可能会造成内存溢出。例如,有1000万的数据要进行计算,现在某个集群中有7台服务器,分别为A、B、C、D、E、F和G,如图1所示,处理时,通过负载均衡调用服务器E,直接在服务器E上进行单机执行1000万数据,这种不仅计算效率慢,而且可能会导致内存溢出。
[0003]而且,即使在单服务器上是多线程运行的,数据量很大的时候,运行多线程时,也可能造成线程等待以及程序的计算速度慢,导致大大降低了用户体验。
[0004]因此,如何在多线程的集群中,提高大数据的计算效率,同时有效地解决内存溢出的问题,成为亟待解决的技术问题。

【发明内容】

[0005]本发明正是基于上述技术问题,提出了一种新的技术方案,在多线程的集群中,可以有效地提高大数据的计算效率以及解决内存溢出的问题,从而提升用户体验。
[0006]有鉴于此,本发明的第一方面,提出了一种大数据处理方法,包括:获取集群中的所有服务器之间的第一性能比例;根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器;按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块;将所述多个数据任务块对应分配给所述多个目标服务器分别进行处理;接收所述多个目标服务器对应处理所述多个数据任务块的多个处理结果,以进行汇总输出。
[0007]在该技术方案中,当在多线程的集群中处理大数据时,首先获取该集群中包含的所有服务器之间的第一性能比例,进而根据该第一性能比例选择用于处理当前大数据任务的多个目标服务器,则该多个目标服务器为该集群中的所有服务器中的部分服务器,然后根据选定的服务器之间的第二性能比例将该当前大数据任务智能分割为多个数据任务块,并根据该第二性能比例分配给对应的目标服务器进行处理,当所有的目标服务器均处理完分配到的数据任务块后,将处理结果进行汇总输出,如此,结合服务器的性能将大数据智能分割后在分配给不同的服务器进行处理,可以提高集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题,提升了用户体验,其中,第二性能比例提取自第一性能比例。
[0008]在上述技术方案中,优选地,所述根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器,具体包括:根据所述第一性能比例中的每个比例值确定所述所有服务器的排序;将排名在前的多个服务器作为处理所述当前大数据任务的所述多个目标服务器。
[0009]在该技术方案中,当在集群的所有服务器中选择处理当前大数据任务的目标服务器时,根据所有服务器之间的第一性能比例中的每个比例值的大小关系对所有的服务器进行排序,进而可以优选排名靠前的多个服务器作为处理当前大数据任务的多个目标服务器,即优先选取性能良好的服务器,如此,可以显著提高集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题。
[0010]在上述任一技术方案中,优选地,在所述按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块之前,还包括:将所述当前大数据任务和所述多个目标服务器进行加锁处理。
[0011]在该技术方案中,在选定用于处理当前大数据任务的多个目标服务器之后且在智能分割该当前大数据任务之前,可以先将当前大数据任务和多个目标服务器进行加锁,即限制将相同的任务再次分配给该多个目标服务器,以进一步提高集群中的服务器的利用率。
[0012]在上述任一技术方案中,优选地,还包括:当所述多个目标服务器中的任一目标服务器无法处理对应分配的任一数据任务块时,获取所述集群中的除所述多个目标服务器之外的剩余服务器之间的第三性能比例;调度执行根据所述第三性能比例选择处理所述任一数据任务块的服务器、将所述任一数据任务块分割并分配给选定的服务器进行处理以及汇总处理结果的步骤。
[0013]在该技术方案中,当将多个数据任务块对应分配多个目标服务器后,若服务器处理智能分割后的数据仍存在负担无法处理时,则可以获取该集群中除已选定的多个目标服务器之外的剩余服务器之间的第三性能比例,进而根据该第三性能比例中的每个比例值确定剩余服务器的排序,并选择排名靠前的多个服务器处理该数据任务块,然后根据此次选定的多个服务器之间的性能比例将该数据任务块进行智能分割,并在智能分割后根据该性能比例分配给相应的服务器进行处理,以及在处理完成后汇总各个服务器的处理结果进行统一输出,如此,可以进一步提高大数据的计算效率并解决内存溢出的问题。
[0014]在上述任一技术方案中,优选地,所述第一性能比例为预设的所述所有服务器之间的固定性能比例;或者所述获取集群中的所有服务器之间的第一性能比例,具体包括:读取所述所有服务器中的每个服务器的CHJ占比和性能参数;根据所述每个服务器的CPU占比和性能参数计算所述所有服务器之间的所述第一性能比例。
[0015]在该技术方案中,集群中的所有服务器之间的第一性能比例可以是用户设定的固定的性能比例,即服务器之间的性能比例不发生改变,则第三性能比例亦提取自第一性能比例;或者也可以是通过读取所有服务器中的每个服务器的CPU占比和性能参数(比如CPU(Central Processing Unit,中央处理器)主频、内存等),进而根据读取到的CPU占比和性能参数计算所有服务器之间的第一性能比例,即服务器之间的性能比例存在变化,则第三性能比例为重新计算的结果,即需要在其他数据任务并发时,实时刷新服务器的占用率,以确保选取性能优良的服务器进行数据处理,如此,可以进一步提高集群中的服务器的利用率,从而提高大数据的计算效率并解决内存溢出的问题,提升用户体验。
[0016]本发明的第二方面,提出了一种数据处理装置,包括:获取模块,用于获取集群中的所有服务器之间的第一性能比例;选择模块,用于根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器;分割模块,用于按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块;处理模块,用于将所述多个数据任务块对应分配给所述多个目标服务器分别进行处理;输出模块,用于接收所述多个目标服务器对应处理所述多个数据任务块的多个处理结果,以进行汇总输出。
[0017]在该技术方案中,当在多线程的集群中处理大数据时,首先获取该集群中包含的所有服务器之间的第一性能比例,进而根据该第一性能比例选择用于处理当前大数据任务的多个目标服务器,则该多个目标服务器为该集群中的所有服务器中的部分服务器,然后根据选定的服务器之间的第二性能比例将该当前大数据任务智能分割为多个数据任务块,并根据该第二性能比例分配给对应的目标服务器进行处理,当所有的目标服务器均处理完分配到的数据任务块后,将处理结果进行汇总输出,如此,结合服务器的性能将大数据智能分割后在分配给不同的服务器进行处理,可以提高集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题,提升了用户体验,其中,第二性能比例提取自第一性能比例。
[0018]在上述技术方案中,优选地,所述选择模块具体包括:排序模块,用于根据所述第一性能比例中的每个比例值确定所述所有服务器的排序;确定模块,用于将排名在前的多个服务器作为处理所述当前大数据任务的所述多个目标服务器。
[0019]在该技术方案中,当在集群的所有服务器中选择处理当前大数据任务的目标服务器时,根据所有服务器之间的第一性能比例中的每个比例值的大小关系对所有的服务器进行排序,进而可以优选排名靠前的多个服务器作为处理当前大数据任务的多个目标服务器,即优先选取性能良好的服务器,如此,可以显著提高
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1