本发明实施例涉及数据处理领域,具体而言,涉及一种数据流的搬移方法、装置、存储介质和电子装置。
背景技术:
1、近年来,随着信息化技术的快速发展,越来越多的应用到网络交换芯片进行数据处理,传统的多通道数据交换芯片在进行数据处理时会将接受到的数据临时存储在交换芯片内的缓存模块中,待进行完数据处理后将处理后的数据进行输出,但是随着应用需求的要求,需要交换芯片处理的数据越来越多,但是交换芯片的缓存模块的存储空间都相对较小,远远满足不了信息时代网络交换芯片需要吸收突发流量数据缓存的要求,在这种背景下,网络交换芯片可以增加外置存储接口,通过外界大容量颗粒来扩展芯片的缓存容量,增加吸收突发数据。
2、图1是相关技术进行外置缓存的示意图,如图1所示,当片内芯片缓存的数据过多时,通过输出队列模块将片内的数据搬移至片外进行存储,在搬移时往往根据接收的数据队列的先后顺序进行搬移,这就造成了在搬移的数据可能并不是造成片内芯片缓存拥塞的数据,并不能有效的解决片内缓存拥塞的问题,并且相关技术中为了满足这种大带宽的片外存储器数据操作要求,片内需要至少两个对应数据搬移接口,由于数据搬移存在物理时延,同一个队列的数据可能在多个数据搬移接口中进行操作,这就面临数据写到大带宽片外存储器过程中的乱序问题。
3、针对相关技术中存在的数据搬移效率较低的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种数据流的搬移方法、装置、存储介质和电子装置,以至少解决相关技术中存在的数据搬移效率较低的问题。
2、根据本发明的一个实施例,提供了一种数据流的搬移方法,包括:获取在交换设备的片内缓存器内缓存的多个待搬移的数据流,其中,所述多个待搬移的数据流的数量大于所述交换设备所包括的搬移单元的数量;按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元;使用所述目标搬移单元将所对应的所述目标数据流搬移到所述交换设备的片外缓存器中。
3、可选的,所述按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元,包括:从所述多个待搬移的数据流中获取未分配搬移单元且处理效率最低的数据流作为所述目标数据流;从所述交换设备所包括的搬移单元中获取处于空闲状态的搬移单元;从所述处于空闲状态的搬移单元中为所述目标数据流分配所述目标搬移单元。
4、可选的,所述按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元,包括:从所述交换设备所包括的搬移单元中获取处于空闲状态的搬移单元;将所述处于空闲状态的搬移单元分配给所述多个待搬移的数据流中未分配搬移单元且处理效率最低的目标数量的数据流,其中,所述目标数量为所述处于空闲状态的搬移单元的数量。
5、可选的,所述从所述交换设备所包括的搬移单元中获取处于空闲状态的搬移单元,包括:检测所述交换设备所包括的搬移单元当前所搬移的数据流在所述片内缓存器中所占用的第一缓存量;将所述第一缓存量低于第一阈值的搬移单元释放并确定为处于空闲状态的搬移单元。
6、可选的,所述按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元,包括:根据所述多个待搬移的数据流中每个目标数据流的占用的所述片内缓存器的第二缓存量,将所述多个待搬移的数据流划分为第一数据流集合和第二数据流集合,其中,所述第一数据流集合中包括所述多个待搬移的数据流中所述第二缓存量大于或者等于第二阈值的第一数据流,所述第二数据流集合中包括所述多个待搬移的数据流中所述第二缓存量小于所述第二阈值的第二数据流;按照对每个所述第一数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述第一数据流分配所述目标搬移单元;按照对每个所述第二数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述第二数据流分配所述目标搬移单元。
7、可选的,所述获取在交换设备的片内缓存器内缓存的多个待搬移的数据流,包括:检测在交换设备的片内缓存器内缓存的全部数据流中每个数据流所占用的第三缓存量;将所述第三缓存量大于第三阈值的数据流确定为候选数据流;在所述候选数据流的数量大于所述交换设备所包括的搬移单元的数量的情况下,将所述候选数据流确定为所述多个待搬移的数据流。
8、可选的,所述使用所述目标搬移单元将所对应的所述目标数据流搬移到所述交换设备的片外缓存器中,包括:确定所述目标数据流在所述片内缓存器中的第一缓存位置;控制所述目标搬移单元按照所述目标数据流内数据的先后顺序在所述第一缓存位置内获取与所述目标搬移单元的容量匹配的搬移数据;控制所述搬移单元将所述搬移数据搬移到所述片外缓存器的第二缓存位置。
9、根据本发明的又一个实施例,还提供了一种数据流的搬移装置,包括:获取模块,用于获取在交换设备的片内缓存器内缓存的多个待搬移的数据流,其中,所述多个待搬移的数据流的数量大于所述交换设备所包括的搬移单元的数量;分配模块,用于按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元;搬移模块,用于使用所述目标搬移单元将所对应的所述目标数据流搬移到所述交换设备的片外缓存器中。
10、根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
11、根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
12、通过本发明,通过获取在交换设备的片内缓存器内缓存的多个待搬移的数据流,其中,多个待搬移的数据流的数量大于交换设备所包括的搬移单元的数量;按照对多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从交换设备所包括的搬移单元中为每个目标数据流分配目标搬移单元;使用目标搬移单元将所对应的目标数据流搬移到交换设备的片外缓存器中,即,当有数据流需要从片内缓存器搬移到片外缓存器进行缓存时,根据每个待搬移的数据流在片内的处理效率的从低到高的顺序,为每个目标数据流分配目标搬移单元,从而使得处理效率低的数据流优先搬移,并且使用对应的目标搬移单元搬移目标数据从而避免了同一个队列的数据可能在多个数据搬移接口中进行操作的数据乱序问题,因此,解决了相关技术中存在数据搬移效率较低的问题,达到了提高数据的搬移效率的效果。
1.一种数据流的搬移方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元,包括:
3.根据权利要求1所述的方法,其特征在于,所述按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元,包括:
4.根据权利要求2或3所述的方法,其特征在于,所述从所述交换设备所包括的搬移单元中获取处于空闲状态的搬移单元,包括:
5.根据权利要求1所述的方法,其特征在于,所述按照对所述多个待搬移的数据流中包括的每个目标数据流进行处理的处理效率由低到高,依次从所述交换设备所包括的搬移单元中为每个所述目标数据流分配目标搬移单元,包括:
6.根据权利要求1所述的方法,其特征在于,所述获取在交换设备的片内缓存器内缓存的多个待搬移的数据流,包括:
7.根据权利要求1所述的方法,其特征在于,所述使用所述目标搬移单元将所对应的所述目标数据流搬移到所述交换设备的片外缓存器中,包括:
8.一种数据流的搬移装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。