一种数据处理方法、系统、装置及介质与流程

文档序号:36638987发布日期:2024-01-06 23:24阅读:28来源:国知局
一种数据处理方法、系统、装置及介质与流程

本技术涉及计算机领域,特别涉及一种数据处理方法、系统、装置及介质。


背景技术:

1、计算机网络拓扑结构的设计需要考虑多个因素,包括网络中节点的数量、连通性、可靠性和安全性等。在选择合适的拓扑结构时,需要权衡这些因素,以实现最佳的网络性能和可靠性。随着网络技术的不断发展,高速网络采用乱序传输的方式以提高传输效率,但同时也带来了数据乱序问题。在某些业务场景中,如数据流媒体和实时通信,数据传输顺序的准确性对网络的正常运行和用户体验至关重要。

2、然而,现有的排序方案存在一些弊端,主要与以下因素有关:首先,按照单个数据包的最大数据量存储会导致空间浪费,因为不同的数据包的长度可能并不相同,而且可能存在部分数据包较小的情况。其次,缓存空间过大会对芯片的片上综合造成不利影响,因为它需要更多的资源来实现。最后,较大的缓存空间导致访存速度较慢,从而降低整体的处理速度。

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、若存在所述尾标识,则判定所述子数据读取完毕;

57、若不存在所述尾标识,则从所述第二链表中定位与所述目标源端口对应的目标编号,并从所述目标编号对应的目标缓存区域中读取数据,直至当前读取的所述目标缓存区域存在尾标识时,判定所述子数据读取完毕。

58、为解决上述技术问题,本技术还提供了一种数据传输系统,包括:

59、接收单元,用于在接收到目标源端口发送的子数据时,获取所述子数据的序列号;

60、判断单元,用于判断所述序列号是否为期望序列号;

61、第一执行单元,用于在所述序列号为所述期望序列号时,将所述子数据输出至目标终端口;

62、第二执行单元,用于在所述序列号不是所述期望序列号时,根据所述序列号是否在期望范围内确定将所述子数据存储至一级缓存或二级缓存中;

63、读取单元,用于

64、根据预设读取优先级顺序从所述一级缓存或所述二级缓存中读取所述子数据得到目标数据,所述一级缓存的读取优先级高于所述二级缓存的读取优先级,所述目标数据包括多个所述子数据;

65、其中,从所述一级缓存或所述二级缓存中读取所述子数据时是按照预设的序列号顺序读取的。

66、为解决上述技术问题,本技术还提供了一种数据传输装置,包括:

67、存储器,用于存储计算机程序;

68、处理器,用于在存储计算机程序时,实现如上述所述的数据传输方法的步骤。

69、为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的数据传输方法的步骤。

70、本技术提供了一种数据传输方法、系统、装置及介质,涉及计算机领域,用于解决存在的数据乱序及占用存储空间较大的问题。通过判断序列号是否为期望序列号,以及根据序列号是否在期望范围内来确定将子数据存储至一级缓存或二级缓存中,可避免按照最大数据量进行存储导致的空间浪费,避免了过大的缓存空间对芯片的片上综合造成不利影响;如序列号是期望序列号,可以直接输出至目标终端口,无需存储;因一级缓存的优先级高于二级缓存,当目标数据包的子数据位于一级缓存中时,可以更快速输出至目标终端口,从而减少了访存时间,提高了处理速度,从而提高整体的处理速度,可实现在数据处理速度和内存空间方面的平衡。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1