The invention provides a file generation method and system based on massive data, including: the client sends the first request message to the first management node, carries the storage path of N data blocks and the corresponding task types of each data block, including CPU-intensive tasks and I/O-intensive tasks; the first management node acquires the processing capability of each computing node to handle two kinds of tasks in turn. According to the task type of N data blocks, a sub-task is assigned to each of the N computing nodes. The computing node reads the data in the data block and processes the data. The client generates the corresponding files according to the data processing results of the N computing nodes. The file is generated by parallel processing of massive data by multiple computing nodes in the spark cluster, and the management nodes in the spark cluster distribute the data block to the computing nodes with strong ability to handle this type of task according to the task type corresponding to the database, which improves the speed of data processing on the basis of achieving load balancing.
【技术实现步骤摘要】
基于海量数据的文件生成方法及系统
本专利技术属于计算机
,尤其涉及一种基于海量数据的文件生成方法及系统。
技术介绍
随着计算机技术和互联网技术的迅猛发展,网络普及率和互联网用户的规模也在逐年攀升,用户规模不断攀升与数据处理量迅速增长的双重刺激为互联网应用带来了新的挑战。例如,基金系统之间的数据交互基本都以文本文件形式交互,随着用户数量的增长,目前一天需要生成的数据文件高达30多G,普通方法生成文件需要数小时,严重影响业务的效率。并且,随着数据量越来越大,对系统各项性能的也越来越高。因此,面对海量数据,如何提高文件的生成速度是现在所面临的挑战。
技术实现思路
有鉴于此,本专利技术实施例提供了一种基于海量数据的文件生成方法及系统,以解决现有技术中基于海量数据的文件生成速度慢的问题。本专利技术实施例的第一方面提供了一种基于海量数据的文件生成方法,该方法应用于计算引擎spark集群,spark集群中包括第一管理节点和多个计算节点,包括:客户端向所述第一管理节点发送第一请求消息,所述第一请求消息用于请求将待处理的数据进行处理生成文件,所述数据由N个数据块组成,所述第一请求 ...
【技术保护点】
1.一种基于海量数据的文件生成方法,其特征在于,该方法应用于计算引擎spark集群,spark集群中包括第一管理节点和多个计算节点,该方法包括:客户端向所述第一管理节点发送第一请求消息,所述第一请求消息用于请求将待处理的数据进行处理生成文件,所述数据由N个数据块组成,所述第一请求消息中携带所述N个数据块中每个数据块的存储路径信息和每个数据块所对应的任务类型,所述任务类型包括中央处理器CPU密集型任务和输入输出I/O密集型任务,N为大于等于2的正整数;所述第一管理节点依次获取每个计算节点处理CPU密集型任务的处理能力和处理I/O密集型任务的处理能力;所述第一管理节点根据每个计 ...
【技术特征摘要】
1.一种基于海量数据的文件生成方法,其特征在于,该方法应用于计算引擎spark集群,spark集群中包括第一管理节点和多个计算节点,该方法包括:客户端向所述第一管理节点发送第一请求消息,所述第一请求消息用于请求将待处理的数据进行处理生成文件,所述数据由N个数据块组成,所述第一请求消息中携带所述N个数据块中每个数据块的存储路径信息和每个数据块所对应的任务类型,所述任务类型包括中央处理器CPU密集型任务和输入输出I/O密集型任务,N为大于等于2的正整数;所述第一管理节点依次获取每个计算节点处理CPU密集型任务的处理能力和处理I/O密集型任务的处理能力;所述第一管理节点根据每个计算节点处理CPU密集型任务的处理能力和处理I/O密集型任务的处理能力,以及所述N个数据块所对应的任务类型,向N个计算节点分别分配一个子任务,每个子任务用于对一个数据块进行处理,每个子任务携带有一个数据块的路径信息,以使得所述计算节点根据接收到的子任务中的数据块的路径信息读取该数据块中的数据并对数据进行处理;所述客户端根据所述N个计算节点的数据处理结果,生成所述数据所对应的文件。2.根据权利要求1所述的文件生成方法,其特征在于,该方法还应用于分布式文件系统HDFS,HDFS中包含第二管理节点和多个存储节点,在所述客户端向所述第一管理节点发送第一请求消息之前,该方法还包括:所述客户端向第二管理节点发送第二请求消息,用于请求写入待处理的数据,所述第二请求消息携带有所述N个数据块中每个数据块的大小信息;所述第二管理节点根据任一数据块的大小,为所述数据块分配一个存储节点,并向所述客户端发送响应消息,所述响应消息中携带每个数据块所对应的存储节点的路径信息;所述客户端根据所述响应消息中所携带的路径信息,将所述N个数据块存储至HDFS的存储节点中。3.根据权利要求1所述的文件生成方法,其特征在于,所述第一管理节点依次获取每个计算节点处理CPU密集型任务的处理能力和处理I/O密集型任务的处理能力包括:所述第一管理节点依次读取每个计算节点的运行日志;针对任一计算节点,所述第一管理节点根据所述计算节点的运行日志,获取所述计算节点处理单位数据量的CPU密集型任务的平均时间T1和处理单位数据量的I/O密集型任务的平均时间T2;所述第一管理节点根据所述计算节点所对应的T1值及所述spark集群中所有计算节点处理单位数据量的CPU密集型任务的平均时间T1’,获取所述计算节点处理CPU密集型任务的处理能力;所述第一管理节点根据所述计算节点所对应的T2值和所述spark集群中所有计算节点处理单位数据量的I/O密集型任务的平均时间T2’,获取所述计算节点处理I/O密集型任务的处理能力。4.根据权利要求1所述的文件生成方法,其特征在于,所述第一管理节点依次获取每个计算节点处理CPU密集型任务的处理能力和处理I/O密集型任务的处理能力包括:在所述spark集群启动时,针对任一计算节点,所述第一管理节点指示所述计算节点分别处理预设数据量的CPU密集型任务和预设数据量的I/O密集型任务;所述第一管理节点获取所述计算节点处理所述预设数据量的CPU密集型任务的时间T3和处理所述预设数据量的I/O密集型任务的时间T4;所述第一管理节点根据所述计算节点所对应的T3值及所述spark集群中所有计算节点处理所述预设数据量的CPU密集型任务的平均时间T3’,获取所述计算节点处理CPU密集型任务的处理能力;所述第一管理节点根据所述计算节点所对应的T4值及所述spark集群中所有计算节点处理所述预设数量的I/O密集型任务的平均时间T4’,获取所述计算节点处理I/O密集型任务的处理能力。5.根据权利要求1所述的文件生成方法,其特征在于,所述第一管理节点依次获取每个计算节点处理CPU密集型任务的处理能力和处理I/O密集型任务的处理能力包括:所述第一管理节点依次获取每个计算节点的CPU主频、内存容量、网络带宽和最大磁盘读写速度;所述第一管理节点计算spark集群中所有计算节点的CPU主频平均值、内存容量平均值、网络带宽平均值和最大磁盘...
【专利技术属性】
技术研发人员:安栋,王斌,宋先优,郭锦玉,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。