本申请涉及数据分析,特别是涉及一种血缘分析方法、装置、计算机设备及存储介质。
背景技术:
1、在针对大规模数据进行血缘分析时,需要高效地管理和优化多任务的执行,以提高系统的性能和资源利用率。传统的多进程或多线程方法可能面临任务分配不均、性能波动的问题,导致资源浪费或系统故障。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够均衡地为进程分配分析任务并动态调整的血缘分析方法、装置、计算机设备及计算机可读存储介质。
2、第一方面,本申请提供了一种血缘分析方法。所述方法包括:
3、读取指定文件夹内的n个文件,对所述n个文件进行初步分配,确定包含所述n个文件的m个文件夹;
4、运行m个血缘分析进程分别根据所述m个文件夹中的文件进行血缘分析,并向主进程发送进程状态,所述m个血缘分析进程与所述m个文件夹一一对应;
5、在通过所述主进程确定任一血缘分析进程即将结束或已结束时,根据所述m个血缘分析进程的进程状态对未分析完成的文件进行重新分配。
6、在其中一个实施例中,所述对所述n个文件进行初步分配,包括:
7、确定所述n个文件的文件大小和文件来源,并按照文件大小对所述n个文件进行排序;
8、按照排序顺序读取文件,针对读取到的当前文件,若已创建的目标文件夹内的任一文件与所述当前文件的文件来源一致、且所述目标文件夹的剩余空间大于或等于所述当前文件的文件大小,则将所述当前文件放入所述目标文件夹内;若已创建的文件夹内的文件与所述当前文件的文件来源均不一致,则创建文件夹,并将所述当前文件放入新创建的文件夹内。
9、在其中一个实施例中,所述方法还包括:
10、获取所述目标文件夹的文件存放空间;
11、根据所述目标文件夹中已存放的文件的文件大小计算空间占用量;
12、根据所述文件存放空间和所述空间占用量确定剩余空间。
13、在其中一个实施例中,所述方法还包括:
14、确定进程池中各进程的历史分析效率;
15、按照历史分析效率由高至低的顺序对所述进程池中各进程进行排序;
16、针对新创建的当前文件夹,按照排序顺序从所述进程池中调用与所述当前文件夹对应的血缘分析进程;
17、根据所述血缘分析进程的历史分析效率为所述当前文件夹分配文件存放空间。
18、在其中一个实施例中,所述根据所述血缘分析进程的历史分析效率为所述当前文件夹分配文件存放空间,包括:
19、根据所述血缘分析进程的历史分析效率确定对应的空间系数;
20、根据所述空间系数和预设存放空间计算所述当前文件夹的文件存放空间。
21、在其中一个实施例中,所述进程状态包括cpu时间,所述根据所述m个血缘分析进程的进程状态对未分析完成的文件进行重新分配,包括:
22、根据所述m个血缘分析进程的cpu时间计算平均时间;
23、根据所述平均时间和冗余系数计算超负载临界时间;
24、确定cpu时间大于所述超负载临界时间的至少一个血缘分析进程;
25、向所述至少一个血缘分析进程发出暂停通知,以指示所述至少一个血缘分析进程向主进程反馈进程队列中未分析完成的文件,并清空所述进程队列;
26、获取所述至少一个血缘分析进程反馈的未分析完成的文件,按照文件大小将未分析完成的文件平均分配给未暂停的血缘分析进程。
27、在其中一个实施例中,所述进程状态包括当前处理文件大小,所述方法还包括:
28、在通过所述主进程确定任一血缘分析进程的当前处理文件大小为预设大小时,确定所述血缘分析进程即将结束或已结束。
29、第二方面,本申请还提供了一种血缘分析装置。所述装置包括:
30、初步分配模块,用于读取指定文件夹内的n个文件,对所述n个文件进行初步分配,确定包含所述n个文件的m个文件夹;
31、血缘分析模块,用于运行m个血缘分析进程分别根据所述m个文件夹中的文件进行血缘分析,并向主进程发送进程状态,所述m个血缘分析进程与所述m个文件夹一一对应;
32、重新分配模块,用于在通过所述主进程确定任一血缘分析进程即将结束或已结束时,根据所述m个血缘分析进程的进程状态对未分析完成的文件进行重新分配。
33、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
34、读取指定文件夹内的n个文件,对所述n个文件进行初步分配,确定包含所述n个文件的m个文件夹;
35、运行m个血缘分析进程分别根据所述m个文件夹中的文件进行血缘分析,并向主进程发送进程状态,所述m个血缘分析进程与所述m个文件夹一一对应;
36、在通过所述主进程确定任一血缘分析进程即将结束或已结束时,根据所述m个血缘分析进程的进程状态对未分析完成的文件进行重新分配。
37、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
38、读取指定文件夹内的n个文件,对所述n个文件进行初步分配,确定包含所述n个文件的m个文件夹;
39、运行m个血缘分析进程分别根据所述m个文件夹中的文件进行血缘分析,并向主进程发送进程状态,所述m个血缘分析进程与所述m个文件夹一一对应;
40、在通过所述主进程确定任一血缘分析进程即将结束或已结束时,根据所述m个血缘分析进程的进程状态对未分析完成的文件进行重新分配。
41、上述血缘分析方法、装置、计算机设备和存储介质,读取指定文件夹内的n个文件,对n个文件进行初步分配,确定包含n个文件的m个文件夹;运行m个血缘分析进程分别根据m个文件夹中的文件进行血缘分析,并向主进程发送进程状态,m个血缘分析进程与m个文件夹一一对应;在通过主进程确定任一血缘分析进程即将结束或已结束时,根据m个血缘分析进程的进程状态对未分析完成的文件进行重新分配。通过上述方式,能够均衡地为进程分配分析任务,并动态地根据进程状态进行调整,解决了传统多进程或多线程方法的分配不均、性能波动问题,避免了资源浪费或系统故障,提升了血缘分析效率。
1.一种血缘分析方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述n个文件进行初步分配,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述血缘分析进程的历史分析效率为所述当前文件夹分配文件存放空间,包括:
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述进程状态包括cpu时间,所述根据所述m个血缘分析进程的进程状态对未分析完成的文件进行重新分配,包括:
7.根据权利要求1至5任意一项所述的方法,其特征在于,所述进程状态包括当前处理文件大小,所述方法还包括:
8.一种血缘分析装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。