技术新讯 > 电子通信装置的制造及其应用技术 > 片上网络中数据包的解压缩方法及系统、介质、设备与流程  >  正文

片上网络中数据包的解压缩方法及系统、介质、设备与流程

  • 国知局
  • 2024-08-02 14:22:02

本发明涉及片上网络,尤其是涉及一种片上网络中数据包的解压缩方法及系统、介质、设备。

背景技术:

1、近年来,多核芯片已经是提高硬件计算能力、节省空间及降低成本的重要解决方案,并逐渐成为发展趋势。作为传统连接方式的总线及交叉开关对于超多核系统已逐渐力不从心,成为性能瓶颈。为此noc应运而生,以取代传统的连接架构。然而noc同样面临通信延迟和网络功耗等考验。其中,noc的英文全拼为networr on chip,中文为片上网络。

2、在noc中,数据包根据链路带宽被分为宽度固定的切片(即flit),一个数据请求由一个头切片组成,而一个回复包由一个头切片(即header)、至少一个数据切片(即body)和一个尾切片(即tail)组成。多核通信产生的巨大数据流量是上述考验的根本原因,因此减少网络流量是一个非常值得关注的切入点,可以通过压缩的方式来减少数据包的大小,从而减小数据流量。

3、传统的压缩方式有差值压缩方式,基本思想是为整个待发送数据设置一个基底,用整个待发送数据中每一个数据块的实际值与基底之间的差值作为压缩值来替换该数据块的实际值,以达到数据压缩的效果。在接收端只需要将差值与基底相加即可完成解压复原,实现无损压缩。常见的差值压缩方法一般采用数据块最大值和最小值的平均值作为基底,该方式的问题在于,在确定基底时需要遍历每个数据块的每一位并做排序操作及均值运算,造成时间及计算资源的浪费。

4、可见,有必要针对片上网络提供一种能够减少时间和计算资源浪费的压缩方案。

技术实现思路

1、针对以上至少一个技术问题,本发明实施例提供一种片上网络中数据包的解压缩方法及系统、介质、设备。

2、根据第一方面,本发明实施例提供的片上网络中数据包的解压缩方法包括:

3、获取待压缩数据;其中,所述待压缩数据采用二进制表示方式;

4、将所述待压缩数据分割为多个数据块,且各个数据块的位数均相同;

5、按照从最高有效位至最低有效位的顺序,逐位判断各个数据块的对应位是否相同,在判断过程中第一次出现对应位不相同的情况时,停止进行后续对应位是否相同的判断;

6、将当前判断位的各个高位作为所述待压缩数据的整体基底,并将每一个数据块中所述当前判断位以及所述当前判断位的各个低位作为该数据块的压缩值;

7、根据所述待压缩数据的整体基底和各个数据块各自对应的压缩值,组装成所述待压缩数据对应的压缩包;

8、将所述压缩包发送至接收端,以使所述接收端将所述压缩包中的所述整体基底分别与各个数据块各自对应的压缩值进行拼接,实现对所述压缩包的无损解压。

9、在一个实施例中,所述按照从最高有效位至最低有效位的顺序,逐位判断各个数据块的对应位是否相同,在判断过程中第一次出现对应位不相同的情况时,停止进行后续对应位是否相同的判断,包括:

10、按照从最高有效位至最低有效位的顺序,逐位判断各个数据块的对应位是否相同,在判断过程中第一次出现对应位不相同的情况时,停止进行后续对应位是否相同的判断,并根据当前判断位确定压缩特征值;其中,所述压缩特征值能够体现出所述当前判断位的所在位置;

11、对应的,所述根据所述待压缩数据的整体基底和各个数据块各自对应的压缩值,组装成所述待压缩数据对应的压缩包,包括:根据所述压缩特征值的二进制表示数据、所述待压缩数据的整体基底以及各个数据块各自对应的压缩值,组装成所述待压缩数据的压缩包;

12、对应的,接收端在将所述压缩包中的所述整体基底分别与各个数据块各自对应的压缩值进行拼接之前,根据所述压缩特征值确定所述压缩包中的所述整体基底以及各个压缩值。

13、在一个实施例中,所述按照从最高有效位至最低有效位的顺序,逐位判断各个数据块的对应位是否相同,在判断过程中第一次出现对应位不相同的情况时,停止进行后续对应位是否相同的判断,并根据当前判断位确定压缩特征值,包括:如下步骤:

14、a1、设置所述压缩特征值的初始值和当前判断位i的初始值均为n-1;其中,n为每一个数据块的位数;

15、a2、判断各个数据块中的第i位是否完全相同;

16、a3、若完全相同,则将所述压缩特征值赋值为i,并通过将i减1的方式实现对i的更新;

17、a4、判断更新后的i是否小于0;

18、a5、若更新后的i小于0,则跳出循环;

19、a6、若更新后的i大于等于0,则返回a2;

20、a7、若不完全相同,则跳出循环。

21、在一个实施例中,所述判断各个数据块中的第i位是否完全相同,包括:

22、将各个数据块中的第i位进行与操作,得到与操作结果;

23、将各个数据块中的第i位进行或操作,得到或操作结果;

24、确定所述或操作结果的非值,并计算所述与操作结果和所述非值的和;

25、若所述和为1,则所述各个数据块中的第i位完全相同;

26、若所述和不为1,则所述各个数据块中的第i位不完全相同。

27、在一个实施例中,所述将当前判断位的各个高位作为所述待压缩数据的整体基底,并将每一个数据块中所述当前判断位以及所述当前判断位的各个低位作为该数据块的压缩值,包括:

28、若所述压缩特征值大于0且小于n-1,则将任意一个数据块中的第n-1位至第r位作为所述待压缩数据的整体基底,将每一个数据块中的第r-1位至第0位作为该数据块对应的的压缩值,其中,r为所述压缩特征值。

29、在一个实施例中,所述将当前判断位的各个高位作为所述待压缩数据的整体基底,并将每一个数据块中所述当前判断位以及所述当前判断位的各个低位作为该数据块的压缩值,包括:

30、若所述压缩特征值为0,则将任意一个数据块作为所述待压缩数据的整体基底,且各个数据块的压缩值均为0。

31、在一个实施例中,所述将当前判断位的各个高位作为所述待压缩数据的整体基底,并将每一个数据块中所述当前判断位以及所述当前判断位的各个低位作为该数据块的压缩值,包括:

32、若所述压缩特征值为n-1,则将每一个数据块作为自己的压缩值,且所述待压缩数据的整体基底为0。

33、根据第二方面,本发明实施例提供一种片上网络中数据包的解压缩系统包括:

34、数据获取模块,用于获取待压缩数据;其中,所述待压缩数据采用二进制表示方式;

35、数据分割模块,用于将所述待压缩数据分割为多个数据块,且各个数据块的位数均相同;

36、位对比模块,用于按照从最高有效位至最低有效位的顺序,逐位判断各个数据块的对应位是否相同,在判断过程中第一次出现对应位不相同的情况时,停止进行后续对应位是否相同的判断;

37、第一确定模块,用于将当前判断位的各个高位作为所述待压缩数据的整体基底,并将每一个数据块中所述当前判断位以及所述当前判断位的各个低位作为该数据块的压缩值;

38、包组装模块,用于根据所述待压缩数据的整体基底和各个数据块各自对应的压缩值,组装成所述待压缩数据对应的压缩包;

39、包发送模块,用于将所述压缩包发送至接收端,以使所述接收端将所述压缩包中的所述整体基底分别与各个数据块各自对应的压缩值进行拼接,实现对所述压缩包的无损解压。

40、根据第三方面,本发明实施例提供计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现第一方面提供的方法。

41、根据第四方面,本发明实施例提供的计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面提供的方法。

42、本发明实施例提供的片上网络中数据包的解压缩方法及系统、介质、设备,将待压缩数据分割为多个位数相等的数据块,然后按照从最高有效位至最低有效位的顺序,逐位判断各个数据块的对应位是否相同,在判断过程中第一次出现对应位不相同的情况时,停止进行后续对应位是否相同的判断;进而将当前判断位的各个高位作为所述待压缩数据的整体基底,并将每一个数据块中所述当前判断位以及所述当前判断位的各个低位作为该数据块的压缩值;再将待压缩数据的整体基底和各个数据块各自对应的压缩值组装成所述待压缩数据对应的压缩包,将压缩包发送至接收端,这样接收端就可以将所述压缩包中的所述整体基底分别与各个数据块各自对应的压缩值进行拼接,从而实现对所述压缩包的无损解压。在上述过程中,将各个数据块完全相同的部分设置为整体基底,将不完全相同的部分作为各自的压缩值,由于整体基底适用于各个数据块,因此可以减少数据包的数据量,而且实现无损的压缩,接收端也能实现无损的解压缩。由于本发明实施例中仅涉及到计算资源消耗较低的与或运算,同时尽可能地避免了对压缩操作没有贡献的多余操作,不需要遍历每个数据块的每一位并做排序操作及均值运算,可见相对于现有技术,可以减少时间和计算资源的浪费,即提高了压缩效率,也节省了运算资源。

本文地址:https://www.jishuxx.com/zhuanli/20240801/242583.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。