本技术涉及计算机,特别涉及一种数据处理方法、装置和电子设备。
背景技术:
1、流式处理就是指源源不断的数据流过系统时,系统能够不停地连续计算。长期来看,流式处理唯一的限制是,系统的数据处理速率应当快于或至少等于数据输入速率。否则的话,数据会在系统中积压,不管处理时是在闪存还是硬盘,早晚都会空间耗尽。
2、视频实时分析就是一种流处理方式,要保证视频帧不能积压,一次推理必须在特定时间内必须处理完成。比如:摄像头实时进行摄影,经过采样后形成每秒25帧的输入到模型,那么针对视频帧的处理模型也要保证每帧的处理时间小于40ms,形成每秒25帧的输出,如果处理模型针对每视频帧的处理时间大于40ms,那么视频帧图片就会在输入队列里积压,占用的内存越来越多,对系统造成负担。
3、因此,需要在流处理应用场景中,需要选择适配的处理模型,以确保待处理数据不会积压。
技术实现思路
1、针对现有技术下在流处理应用场景中如何避免待处理数据积压的问题,本技术提供了一种数据处理方法、装置和电子设备,本技术还提供一种计算机可读存储介质。
2、本技术实施例采用下述技术方案:
3、第一方面,本技术提供一种数据处理方法,应用于电子设备,方法包括:
4、在第一处理周期,使用第一处理模型处理所述流数据,所述第一处理模型为模型库中的一个模型,所述模型库中的模型用于处理流数据;
5、预测第二处理周期的系统负载,获取所述第二处理周期的预测系统负载,其中,所述第二处理周期为所述第一处理周期的下一个处理周期;
6、根据所述第二处理周期的预测系统负载,从所述模型库中选定第二处理模型并加载所述第二处理模型;
7、在所述第二处理周期,从已加载的处理模型中选定处理模型处理所述流数据,所述已加载的处理模型包括所述第一处理模型以及所述第二处理模型。
8、在第一方面的方法中,在当前处理周期(第一处理周期)对下一处理周期(第二处理周期)的系统负载进行预测,根据预测结果确定针对第二处理周期的备用模型(第二处理模型),提高了备用模型与流数据处理速率需求之间的匹配度,提高了流数据处理效率,降低了流数据积压的可能性。
9、进一步的,在本技术实施例的方法中,在当前处理周期使用主模型(第一处理模型)处理流数据时,加载针对下一处理周期的备用模型(第二处理模型),备用模型的加载过程不会打断主模型处理流数据的进程,有效避免了流数据处理进程被中断,提高了流数据处理效率。
10、在第一方面的一种实现方式中,所述根据所述第二处理周期的预测系统负载,从所述模型库中选定第二处理模型,包括:
11、从所述模型库中选定,最小系统资源占用小于等于所述第二处理周期的预测可用系统资源的处理模型,作为所述第二处理模型,其中:
12、所述最小系统资源占用为,所述处理模型处理所述流数据的处理速率等于所述流数据的输入速率时的系统资源占用;
13、所述预测可用系统资源为系统总资源减去所述预测系统负载的差。
14、在第一方面的一种实现方式中,所述从所述模型库中选定,最小系统资源占用小于等于所述第二处理周期的预测可用系统资源的处理模型,作为所述第二处理模型,包括:
15、从所述模型库中选定,所述最小系统资源占用小于等于所述第二处理周期的预测可用系统资源的多个处理模型中,所述最小系统资源占用最大的一个处理模型,作为所述第二处理模型。
16、根据上述实现方式,在确保处理模型处理流数据的处理速率大于等于流数据的输入速率的前提下,选用最小系统资源占用最大的处理模型作为第二处理模型,可以尽可能地提升数据处理效果。
17、在第一方面的一种实现方式中,所述在第一处理周期,使用第一处理模型处理流数据之前,所述方法还包括:
18、获取所述第一处理周期的实际系统负载;
19、从所述模型库中选定,所述最小系统资源占用小于等于所述第一处理周期的实际可用系统资源的处理模型,作为所述第一处理模型,其中:所述实际可用系统资源为所述系统总资源减去所述实际系统负载的差;
20、加载所述第一处理模型。
21、根据上述实现方式的方法,根据电子设备的实际可用系统资源,确定第一处理周期所使用的第一处理模型,提高了第一处理模型与流数据处理速率需求之间的匹配度,提高了流数据处理效率,降低了流数据积压的可能性,提高了数据处理效果。
22、在第一方面的一种实现方式中,所述从已加载的处理模型中确定在所述第二处理周期中使用的处理模型,获取模型选定结果,包括:
23、获取所述第二处理周期的实际系统负载;
24、根据所述第二处理周期的实际系统负载,从已加载的处理模型中确定在所述第二处理周期中使用的处理模型。
25、根据上述实现方式的方法,根据实际系统负载,确定下一个处理周期所使用的处理模型,提高了备用模型与流数据处理速率需求之间的匹配度,提高了流数据处理效率,降低了流数据积压的可能性。
26、在第一方面的一种实现方式中,所述根据所述第二处理周期的实际系统负载,从已加载的处理模型中确定在所述第二处理周期中使用的处理模型,包括:
27、从所述第一处理模型以及所述第二处理模型中选定,最小系统资源占用小于等于所述第二处理周期的实际可用系统资源的一个处理模型,作为所述第二处理周期中使用的处理模型,其中:
28、所述最小系统资源占用为,所述处理模型处理所述流数据的处理速率等于所述流数据的输入速率时的系统资源占用;所述实际可用系统资源为所述系统总资源减去所述实际系统负载的差。
29、根据上述实现方式,选用最小系统资源占用小于等于第二处理周期的实际可用系统资源的一个处理模型,作为第二处理周期中使用的处理模型,可以有效避免第二数据处理周期出现流数据积压。
30、在第一方面的一种实现方式中,所述从所述第一处理模型以及所述第二处理模型中选定,最小系统资源占用小于等于所述第二处理周期的实际可用系统资源的一个处理模型,作为所述第二处理周期中使用的处理模型,包括:
31、在所述第一处理模型的最小系统资源占用小于等于所述第二处理周期的实际可用系统资源,并且,所述第二处理模型的最小系统资源占用小于等于所述第二处理周期的实际可用系统资源的情况下,选定所述第一处理模型以及所述第二处理模型中,所述最小系统资源占用最大的一个处理模型,作为所述第二处理周期中使用的处理模型。
32、根据上述实现方式,选用最小系统资源占用小于等于第二处理周期的实际可用系统资源的处理模型中,最小系统资源占用较大的处理模型作为第二处理周期中使用的处理模型,可以在避免第二数据处理周期出现流数据积压的前提下,提升数据处理效果。
33、在第一方面的一种实现方式中,所述从所述第一处理模型以及所述第二处理模型中选定,最小系统资源占用小于等于所述第二处理周期的实际可用系统资源的一个处理模型,作为所述第二处理周期中使用的处理模型,包括:
34、在所述第一处理模型的最小系统资源占用大于所述第二处理周期的实际可用系统资源,并且,所述第二处理模型的最小系统资源占用大于所述第二处理周期的实际可用系统资源的情况下,选定所述第一处理模型以及所述第二处理模型中,所述最小系统资源占用最小的一个处理模型,作为所述第二处理周期中使用的处理模型。
35、根据上述实现方式,可以降低第二处理周期的流数据积压量。
36、在第一方面的一种实现方式中,所述根据所述第二处理周期的实际系统负载,从已加载的处理模型中确定在所述第二处理周期中使用的处理模型之前,所述方法还包括:
37、加载第三处理模型,所述第三处理模型为所述模型库中,最小系统资源占用最小的处理模型,所述最小系统资源占用为,所述处理模型处理所述流数据的处理速率等于所述流数据的输入速率时的系统资源占用;
38、所述根据所述第二处理周期的实际系统负载,确定在所述第二处理周期中使用的处理模型,获取模型选定结果,包括:
39、在所述第一处理模型的最小系统资源占用大于所述第二处理周期的实际可用系统资源,并且,所述第二处理模型的最小系统资源占用大于所述第二处理周期的实际可用系统资源的情况下,选定所述第三处理模型,作为所述第二处理周期中使用的处理模型,其中,所述实际可用系统资源为所述系统总资源减去所述实际系统负载的差。
40、根据上述实现方式,可以避免第二处理周期出现数据积压。
41、在第一方面的一种实现方式中,所述加载所述第二处理模型,包括:
42、在所述第二处理模型与当前的备用模型以及所述第一处理模型均不是同一处理模型的情况下,释放当前的备用模型,加载所述第二处理模型,以所述第二处理模型作为新的备用模型,其中,所述备用模型为已被加载但当前并未被使用的处理模型。
43、根据上述实现方式,在加载新的备用模型的同时,释放旧的备用模型,有效控制了用于加载处理模型的内存占用量,提高了内存使用效率。
44、在第一方面的一种实现方式中,方法还包括:
45、预测下一个处理周期的系统负载,获取所述下一个处理周期的预测系统负载;
46、根据所述下一个处理周期的预测系统负载,从所述模型库中选定第四处理模型;
47、在所述第四处理模型与当前使用的处理模型以及当前的备用模型均不是同一处理模型的情况下,释放当前的备用模型,加载所述第四处理模型,以所述第四处理模型为新的备用模型。
48、根据上述实现方式,采用循环执行的方式,在当前处理周期加载针对下一个处理周期的备用模型,实现处理模型的滚动加载切换,避免了加载模型导致流数据处理中断,提高了流数据处理效率。
49、第二方面,本技术提供一种数据处理装置,装置应用于电子设备,装置包括:
50、系统负载预测模块,其用于预测第二处理周期的系统负载,获取所述第二处理周期的预测系统负载,其中,所述第二处理周期为第一处理周期的下一个处理周期;
51、模型选取模块,其用于根据所述第二处理周期的预测系统负载,从模型库中选定第二处理模型,所述模型库中的处理模型用于处理流数据;
52、模型加载模块,其用于加载所述第二处理模型;
53、数据处理模块,其用于:在所述第一处理周期,使用第一处理模型处理所述流数据,其中,所述第一处理模型为所述模型库中的一个处理模型;在所述第二处理周期,从已加载的处理模型中选定处理模型处理所述流数据,所述已加载的处理模型包括所述第一处理模型以及所述第二处理模型。
54、第三方面,本技术提供一种电子设备,电子设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当计算机程序指令被该处理器执行时,触发电子设备执行如第一方面的方法步骤。
55、第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面的方法。
56、第五方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行如第一方面提供的方法。
1.一种数据处理方法,其特征在于,所述方法应用于电子设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二处理周期的预测系统负载,从所述模型库中选定第二处理模型,包括:
3.根据权利要求2所述的方法,其特征在于,所述从所述模型库中选定,最小系统资源占用小于等于所述第二处理周期的预测可用系统资源的处理模型,作为所述第二处理模型,包括:
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述在第一处理周期,使用第一处理模型处理流数据之前,所述方法还包括:
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述在所述第二处理周期,从已加载的处理模型中选定处理模型处理所述流数据,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二处理周期的实际系统负载,从已加载的处理模型中确定在所述第二处理周期中使用的处理模型,包括:
7.根据权利要求6所述的方法,其特征在于,所述从所述第一处理模型以及所述第二处理模型中选定,最小系统资源占用小于等于所述第二处理周期的实际可用系统资源的一个处理模型,作为所述第二处理周期中使用的处理模型,包括:
8.根据权利要求6所述的方法,其特征在于,所述从所述第一处理模型以及所述第二处理模型中选定,最小系统资源占用小于等于所述第二处理周期的实际可用系统资源的一个处理模型,作为所述第二处理周期中使用的处理模型,包括:
9.根据权利要求5所述的方法,其特征在于,所述根据所述第二处理周期的实际系统负载,从已加载的处理模型中确定在所述第二处理周期中使用的处理模型之前,所述方法还包括:
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述加载所述第二处理模型,包括:
11.根据权利要求10所述的方法,其特征在于,方法还包括:
12.一种数据处理装置,其特征在于,所述装置应用于电子设备,所述装置包括:
13.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当所述计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求1-11中任一项所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-11中任一项所述的方法。
