大数据处理方法及大数据处理装置的制造方法
【技术领域】
[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]在该技术方案中,当在集群的所有服务器中选择处理当前大数据任务的目标服务器时,根据所有服务器之间的第一性能比例中的每个比例值的大小关系对所有的服务器进行排序,进而可以优选排名靠前的多个服务器作为处理当前大数据任务的多个目标服务器,即优先选取性能良好的服务器,如此,可以显著提高
集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题。
[0020]在上述任一技术方案中,优选地,还包括:加锁模块,用于在所述按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块之前,将所述当前大数据任务和所述多个目标服务器进行加锁处理。
[0021]在该技术方案中,在选定用于处理当前大数据任务的多个目标服务器之后且在智能分割该当前大数据任务之前,可以先将当前大数据任务和多个目标服务器进行加锁,即限制将相同的任务再次分配给该多个目标服务器,以进一步提高集群中的服务器的利用率。
[0022]在上述任一技术方案中,优选地,所述获取模块还用于:当所述多个目标服务器中的任一目标服务器无法处理对应分配的任一数据任务块时,获取所述集群中的除所述多个目标服务器之外的剩余服务器之间的第三性能比例;所述大数据处理装置还包括:调度模块,用于调度执行根据所述第三性能比例选择处理所述任一数据任务块的服务器、将所述任一数据任务块分割并分配给选定的服务器进行处理以及汇总处理结果的步骤。
[0023]在该技术方案中,当将多个数据任务块对应分配多个目标服务器后,若服务器处理智能分割后的数据仍存在负担无法处理时,则可以获取该集群中除已选定的多个目标服务器之外的剩余服务器之间的第三性能比例,进而根据该第三性能比例中的每个比例值确定剩余服务器的排序,并选择排名靠前的多个服务器处理该数据任务块,然后根据此次选定的多个服务器之间的性能比例将该数据任务块进行智能分割,并在智能分割后根据该性能比例分配给相应的服务器进行处理,以及在处理完成后汇总各个服务器的处理结果进行统一输出,如此,可以进一步提高大数据的计算效率并解决内存溢出的问题。
[0024]在上述任一技术方案中,优选地,所述第一性能比例为预设的所述所有服务器之间的固定性能比例;或者所述获取模块具体包括:读取模块,用于读取所述所有服务器中的每个服务器的CPU占比和性能参数;计算模块,用于根据所述每个服务器的CPU占比和性能参数计算所述所有服务器之间的所述第一性能比例。
[0025]在该技术方案中,集群中的所有服务器之间的第一性能比例可以是用户设定的固定的性能比例,即服务器之间的性能比例不发生改变,则第三性能比例亦提取自第一性能比例;或者也可以是通过读取所有服务器中的每个服务器的CPU占比和性能参数(比如CPU(Central Processing Unit,中央处理器)主频、内存等),进而根据读取到的CPU占比和性能参数计算所有服务器之间的第一性能比例,即服务器之间的性能比例存在变化,则第三性能比例为重新计算的结果,即需要在其他数据任务并发时,实时刷新服务器的占用率,以确保选取性能优良的服务器进行数据处理,如此,可以进一步提高集群中的服务器的利用率,从而提高大数据的计算效率并解决内存溢出的问题,提升用户体验。
[0026]通过以上技术方案,在多线程的集群中,可以有效地提高大数据的计算效率以及解决内存溢出的问题,从而提升用户体验。
【附图说明】
[0027]图1示出了相关技术中的大数据处理的系统示意图。
[0028]图2示出了根据本发明的一个实施例的大数据处理方法的流程示意图;
[0029]图3示出了根据本发明的一个实施例的大数据处理装置的框图;
[0030]图4示出了根据本发明的另一个实施例的大数据处理方法的流程示意图;
[0031]图5示出了根据本发明的一个实施例的服务器集群示意图;
[0032]图6示出了根据本发明的一个实施例的对大数据业务第一次分割分配的结果示意图;
[0033]图7示出了图6的B服务器再次对数据业务进行分割分配的结果示意图。
【具体实施方式】
[0034]为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和【具体实施方式】对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0035]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0036]图2示出了根据本发明的一个实施例的大数据处理方法的流程示意图。
[0037]如图2所示,根据本发明的一个实施例的大数据处理方法,包括:步骤202,获取集群中的所有服务器之间的第一性能比例;步骤204,根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器;步骤206,按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块;步骤208,将所述多个数据任务块对应分配给所述多个目标服务器分别进行处理;步骤210,接收所述多个目标服务器对应处理所述多个数据任务块的多个处理结果,以进行汇总输出。
[0038]在该技术方案中,当在多线程的集群中处理大数据时,首先获取该集群中包含的所有服务器之间的第一性能比例,进而根据该第一性能比例选择用于处理当前大数据任务的多个目标服务器,则该多个目标服务器为该集群中的所有服务器中的部分服务器,然后根据选定的服务器之间的第二性能比例将该当前大数据任务智能分割为多个数据任务块,并根据该第二性能比例分配给对应的目标服务器进行处理,当所有的目标服务器均处理完分配到的数据任务块后,将处理结果进行汇总输出,如此,结合服务器的性能将大数据智能分割后在分配给不同的服务器进行处理,可以提高集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题,提升了用户体验,其中,第二性能比例提取自第一性能比例。
[0039]在上述技术方案中,优选地,所述步骤204具体包括:根据所述第一性能比例中的每个比例值确定所述所有服务器的排序;将排名在前的多个服务器作为处理所述当前大数据任务的所述多个目标服务器。
[0040]在该技术方案中,当在集群的所有服务器中选择处理当前大数据任务的目标服务器时,根据所有服务器之间的第一性能比例中的每个比例值的大小关系对所有的服务器进行排序,进而可以优选排名靠前的多个服务器作为处理当前大数据任务的多个目标服务器,即优先选取性能良好的服务器,如此,可以显著提高集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题。
[0041 ]在上述任一技术方案中,优选地,在所述步骤206之前,还包括:将所述当前大数据任务和所述多个目标服务器进行加锁处理。
[0042]在该技术方案中,在选定用于处理当前大数据任务的多个目标服务器之后且在智能分割该当前大数据任务之前,可以先将当前大数据任务和多个目标服务器进行加锁,即限制将相同的任务再次分配给该多个目标服务器,以进一步提高集群中的服务器的利用率。
[0043]在上述任一技术方案中,优选地,还包括:当所述多个目标服务器中的任一目标服务器无法处理对应分配的任一数据任务块时,获取所述集群中的除所述多个目标服务器之外的剩余服务器之间的第三性能比例;调度执行根据所述第三性能比例选择处理所述任一数据任务块的服务器、将所述任一数据任务块分割并分配给选定的服务器进行处理以及汇总处理结果的步骤。
[0044]在该技术方案中,当将多个数据任务块对应分配多个目标服务器后,若服务器处理智能分割后的数据仍存在负担无法处理时,则可以获取该集群中除已选定的多个目标服务器之外的剩余服务器之间的第三性能比例,进而根据该第三性能比例中的每个比例值确定剩余服务器的排序,并选择排名靠前的多个服务器处理该数据任务块,然后根据此次选定的多个服务器之间的性能比例将该数据任务块进行智能分割,并在智能分割后根据该性能比例分配给相应的服务器进行处理,以及在处理完成后汇总各个服务器的处理结果进行统一输出,如此,可以进一步提高大数据的计算效率并解决内存溢出的问题。
[0045]在上述任一技术方案中,优选地,所述第一性能比例为预设
的所述所有服务器之间的固定性能比例;或者所述步骤202具体包括:读取所述所有服务器中的每个服务器的CPU占比和性能参数;根据所述每个服务器的CPU占比和性能参数计算所述所有服务器之间的所述第一性能比例。
[0046]在该技术方案中,集群中的所有服务器之间的第一性能比例可以是用户设定的固定的性能比例,即服务器之间的性能比例不发生改变,则第三性能比例亦提取自第一性能比例;或者也可以是通过读取所有服务器中的每个服务器的CPU占比和性能参数(比如CPU(Central Processing Unit,中央处理器)主频、内存等),进而根据读取到的CPU占比和性能参数计算所有服务器之间的第一性能比例,即服务器之间的性能比例存在变化,则第三性能比例为重新计算的结果,即需要在其他数据任务并发时,实时刷新服务器的占用率,以确保选取性能优良的服务器进行数据处理,如此,可以进一步提高集群中的服务器的利用率,从而提高大数据的计算效率并解决内存溢出的问题,提升用户体验。
[0047]图3示出了根据本发明的一个实施例的大数据处理装置的框图。
[0048]如图3所示,根据本发明的一个实施例的大数据处理装置300,包括:获取模块302、选择模块304、分割模块306、处理模块308和输出模块310。
[0049]其中,获取模块302,用于获取集群中的所有服务器之间的第一性能比例;选择模块304,用于根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器;分割模块306,用于按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块;处理模块308,用于将所述多个数据任务块对应分配给所述多个目标服务器分别进行处理;输出模块310,用于接收所述多个目标服务器对应处理所述多个数据任务块的多个处理结果,以进行汇总输出。
[0050]在该技术方案中,当在多线程的集群中处理大数据时,首先获取该集群中包含的所有服务器之间的第一性能比例,进而根据该第一性能比例选择用于处理当前大数据任务的多个目标服务器,则该多个目标服务器为该集群中的所有服务器中的部分服务器,然后根据选定的服务器之间的第二性能比例将该当前大数据任务智能分割为多个数据任务块,并根据该第二性能比例分配给对应的目标服务器进行处理,当所有的目标服务器均处理完分配到的数据任务块后,将处理结果进行汇总输出,如此,结合服务器的性能将大数据智能分割后在分配给不同的服务器进行处理,可以提高集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题,提升了用户体验,其中,第二性能比例提取自第一性能比例。
[0051 ]在上述技术方案中,优选地,所述选择模块304具体包括:排序模块3042和确定模块3044。
[0052]其中,排序模块3042,用于根据所述第一性能比例中的每个比例值确定所述所有服务器的排序;确定模块3044,用于将排名在前的多个服务器作为处理所述当前大数据任务的所述多个目标服务器。
[0053]在该技术方案中,当在集群的所有服务器中选择处理当前大数据任务的目标服务器时,根据所有服务器之间的第一性能比例中的每个比例值的大小关系对所有的服务器进行排序,进而可以优选排名靠前的多个服务器作为处理当前大数据任务的多个目标服务器,即优先选取性能良好的服务器,如此,可以显著提高集群中的服务器的利用率,进而可以有效地提高大数据的计算效率并解决内存溢出的问题。
[0054]在上述任一技术方案中,优选地,还包括:加锁模块312,用于在所述按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块之前,将所述当前大数据任务和所述多个目标服务器进行加锁处理。
[0055]在该技术方案中,在选定用于处理当前大数据任务的多个目标服务器之后且在智能分割该当前大数据任务之前,可以先将当前大数据任务和多个目标服务器进行加锁,即限制将相同的任务再次分配给该多个目标服务器,以进一步提高集群中的服务器的利用率。
[0056]在上述任一技术方案中,优选地,所述获取模块302还用于:当所述多个目标服务器中的任一目标服务器无法处理对应分配的任一数据任务块时,获取所述集群中的除所述多个目标服务器之外的剩余服务器之间的第三性能比例;所述大数据处理装置300还包括:调度模块314,用于调度执行根据所述第三性能比例选择处理所述任一数据任务块的服务器、将所述任一数据任务块分割并分配给选定的服务器进行处理以及汇总处理结果的步骤。
[0057]在该技术方案中,当将多个数据任务块对应分配多个目标服务器后,若服务器处理智能分割后的数据仍存在负担无法处理时,则可以获取该集群中除已选定的多个目标服务器之外的剩余服务器之间的第三性能比例,进而根据该第三性能比例中的每个比例值确定剩余服务器的排序,并选择排名靠前的多个服务器处理该数据任务块,然后根据此次选定的多个服务器之间的性能比例将该数据任务块进行智能分割,并在智能分割后根据该性能比例分配给相应的服务器进行处理,以及在处理完成后汇总各个服务器的处理结果进行统一输出,如此,可以进一步提高大数据的计算效率并解决内存溢出的问题。
[0058]在上述任一技术方案中,优选地,所述第一性能比例为预设的所述所有服务器之间的固定性能比例;或者所述获取模块302具体包括:读取模块3022和计算模块3024。
[0059]其中,读取模块3022,用于读取所述所有服务器中的每个服务器的CPU占比和性能参数;计算模块3024,用于根据所述每个服务器的CPU占比和性能参数计算所述所有服务器之间的所述第一性能比例。
[0060]在该技术方案中,集群中的所有服务器之间的第一性能比例可以是用户设定的固定的性能比例,即服务器之间的性能比例不发生改变,则第三性能比例亦提取自第一性能比例;或者也可以是通过读取所有服务器中的每个服务器的CPU占比和性能参数(比如CPU(Central Processing Unit,中央处理器)主频、内存等),进而根据读取到的CPU占比和性能参数计算所有服务器之间的第一性能比例,即服务器之间的性能比例存在变化,则第三性能比例为重新计算的结果,即需要在其他数据任务并发时,实时刷新服务器的占用率,以确保选取性能优良的服务器进行数据处理,如此,可以进一步提高集群中的服务器的利用率,从而提高大数据的计算效率并解决内存溢出的问题,提升用户体验。
[0061 ]下面结合图4至图7对本发明的一些实施例进行说明。
[0062]图4示出了根据本发明的另一个实施例的大数据处理方法的流程示意图。
[0063]图5示出了根据本发明的一个实施例的服务器集群示意图。
[0064]图6示出了根据本发明的一个实施例的对大数据业务第一次分割分配的结果示意图。
[0065]图7示出了图6的B服务器再次对数据业务进行分割分配的结果示意图。
[0066]如图4所示,根据本发明的另一个实施例的大数据处理方法,通过本发明的计算器(即大数据处理装置)将大数据进行智能分割,分配给集群上不同的服务器进行并行计算处理,提高大数据的计算效率。具体地,该计算器即可用于负载均衡上也可以用于集群中的任一服务器上,流程步骤包括:
[0067]步骤402,读取集群上服务器CHJ占比及服务器的性能参数(例如CHJ主频、内存等),计算服务器之间的性能比例(第一性能比例);
[0068]步骤404,将服务器按照性能比例进行排序,选取性能比例较高的服务器,准备对其派发任务。
[0069]步骤406,将本次大数据任务与选用服务器进行加锁,并当有其他任务并发时,实时刷新服务器的占用情况和使用情况。
[0070]步骤408,按照第一步计算出的服务器性能比例中的选用服务器之间的性能比例对大数据进行分割;
[0071]步骤410,分割完后,起线程,将分割后的数据派发给已选出的服务器。
[0072]步骤412,执行完后,将每个服务器执行的结果进行汇
总输出。
[0073]以下进行举例说明:
[0074]例如有1000万的数据要进行计算,现在这个集群环境上有7台服务器,分别为A、B、C、D、E、F和G,如图5所示。
[0075]则该计算器的模式为:
[0076]一、在负载均衡上使用该计算器
[0077](1)读取集群上服务器CPU占比,及服务器的性能参数,计算服务器的性能比例,得出7台服务器的性能比例为:六:8:(::0$:?:6 = 4:5:3:7:8:3:2(第一性能比例),则选取服务器B、D、E(多个目标服务器)进行数据派发。
[0078](2)对这B、D、E这三台服务器和此次任务进行加锁,当其他任务并发时,实时刷新服务器的占用率,选用其他服务器或已空闲服务器进行计算。
[0079](3)根据上述计算的B、D、E的性能比例5:7:8(第二性能比例),将数据进行分组,分为250万,350万,400万(多个数据任务块),起线程,将这三组数据分别派发给服务器B、D、E,如图6所示。
[0080](4)在服务器上分别计算派发的数据,最后将3台服务器上的结果一同汇总,并输出。
[0081]二、在某台服务器上使用该计算器
[0082]如果在负载均衡使用该计算器后,将数据分割派发给集群上的服务器进行计算,但是,对于某台服务器来说分割后的数据可能还是有一定的负担,那么就可以在这台服务器上继续使用该计算器,将数据进行再分割,再分配。
[0083]例如上例中将250万数据派发给服务器B,可能会对B造成负担,那么可以在服务器B上使用该计算器,将250万的数据进行再分割,再分配。
[0084](1)读取集群中空闲的服务器,并计算服务器的性能比例,A:C:F:G = 4:3:3:2(第三性能比例),则选取A、C、F进行派发任务。
[0085](2)将任务与选取的服务器进行加锁。
[0086](3)将250万数据根据A、C、F的性能比例,进行再分割,分割为:100万、75万、75万,分别派发给所选的服务器,即分配情况为:A-100万、C-75万、F-75万,如图7所示。
[0087](4)将A、C、D、E、F服务器上计算的结果一同汇总,并输出。
[0088]综上,通过本发明的技术方案,该计算器通过将大数据智能分割,对集群上的服务器进行派发任务,提高了集群中服务器的利用率,从而提高大数据的计算效率,解决内存溢出的问题;另外,该计算器可用于负载均衡上,也可用于集群上的任一服务器,以将分配给服务器的数据进行再分割,避免分割后的数据量较大时,给接收任务的服务器造成压力。
[0089]以上结合附图详细说明了本发明的技术方案,在多线程的集群中,可以有效地提高大数据的计算效率以及解决内存溢出的问题,从而提升用户体验。
[0090]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种大数据处理方法,其特征在于,包括: 获取集群中的所有服务器之间的第一性能比例; 根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器; 按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块; 将所述多个数据任务块对应分配给所述多个目标服务器分别进行处理; 接收所述多个目标服务器对应处理所述多个数据任务块的多个处理结果,以进行汇总输出。2.根据权利要求1所述的大数据处理方法,其特征在于,所述根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器,具体包括: 根据所述第一性能比例中的每个比例值确定所述所有服务器的排序; 将排名在前的多个服务器作为处理所述当前大数据任务的所述多个目标服务器。3.根据权利要求2所述的大数据处理方法,其特征在于,在所述按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块之前,还包括: 将所述当前大数据任务和所述多个目标服务器进行加锁处理。4.根据权利要求3所述的大数据处理方法,其特征在于,还包括: 当所述多个目标服务器中的任一目标服务器无法处理对应分配的任一数据任务块时,获取所述集群中的除所述多个目标服务器之外的剩余服务器之间的第三性能比例; 调度执行根据所述第三性能比例选择处理所述任一数据任务块的服务器、将所述任一数据任务块分割并分配给选定的服务器进行处理以及汇总处理结果的步骤。5.根据权利要求1至4中任一项所述的大数据处理方法,其特征在于,所述第一性能比例为预设的所述所有服务器之间的固定性能比例; 或者 所述获取集群中的所有服务器之间的第一性能比例,具体包括: 读取所述所有服务器中的每个服务器的CHJ占比和性能参数; 根据所述每个服务器的CPU占比和性能参数计算所述所有服务器之间的所述第一性能比例。6.一种大数据处理装置,其特征在于,包括: 获取模块,用于获取集群中的所有服务器之间的第一性能比例; 选择模块,用于根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器; 分割模块,用于按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块; 处理模块,用于将所述多个数据任务块对应分配给所述多个目标服务器分别进行处理; 输出模块,用于接收所述多个目标服务器对应处理所述多个数据任务块的多个处理结果,以进行汇总输出。7.根据权利要求6所述的大数据处理装置,其特征在于,所述选择模块具体包括: 排序模块,用于根据所述第一性能比例中的每个比例值确定所述所有服务器的排序; 确定模块,用于将排名在前的多个服务器作为处理所述当前大数据任务的所述多个目标服务器。8.根据权利要求7所述的大数据处理装置,其特征在于,还包括: 加锁模块,用于在所述按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块之前,将所述当前大数据任务和所述多个目标服务器进行加锁处理。9.根据权利要求8所述的大数据处理装置,其特征在于,所述获取模块还用于: 当所述多个目标服务器中的任一目标服务器无法处理对应分配的任一数据任务块时,获取所述集群中的除所述多个目标服务器之外的剩余服务器之间的第三性能比例; 所述大数据处理装置还包括: 调度模块,用于调度执行根据所述第三性能比例选择处理所述任一数据任务块的服务器、将所述任一数据任务块分割并分配给选定的服务器进行处理以及汇总处理结果的步骤。10.根据权利要求6至9中任一项所述的大数据处理装置,其特征在于,所述第一性能比例为预设的所述所有服务器之间的固定性能比例; 或者 所述获取模块具体包括: 读取模块,用于读取所述所有服务器中的每个服务器的CHJ占比和性能参数; 计算模块,用于根据所述每个服务器的CPU占比和性能参数计算所述所有服务器之间的所述第一性能比例。
【专利摘要】本发明提供了一种大数据处理方法和一种大数据处理装置,其中,所述大数据处理方法包括:获取集群中的所有服务器之间的第一性能比例;根据所述第一性能比例在所述所有服务器中选择处理当前大数据任务的多个目标服务器;按照选定的所述多个目标服务器之间的第二性能比例分割所述当前大数据任务,以得到多个数据任务块;将所述多个数据任务块对应分配给所述多个目标服务器分别进行处理;接收所述多个目标服务器对应处理所述多个数据任务块的多个处理结果,以进行汇总输出。通过本发明的技术方案,在多线程的集群中,可以有效地提高大数据的计算效率以及解决内存溢出的问题,从而提升用户体验。
【IPC分类】G06F17/30
【公开号】CN105488134
【申请号】CN201510830923
【发明人】高欢, 张云
【申请人】用友网络科技股份有限公司
【公开日】2016年4月13日
【申请日】2015年11月25日