一种基于哈希算法重组的数据传输方法与流程

文档序号:37230723发布日期:2024-03-05 15:41阅读:15来源:国知局
一种基于哈希算法重组的数据传输方法与流程

本发明涉及数据传输,尤其涉及一种基于哈希算法重组的数据传输方法。


背景技术:

1、数据传输就是按照一定的规程,通过一条或者多条数据链路,将数据从数据源传输到数据终端,它的主要作用就是实现点与点之间的信息传输与交换。目前,为了保证网络数据传输过程中网络数据的完整性和安全性,通常利用哈希算法重组的方式进行数据传输,具体为:获取待传输的网络数据,通过固定的分块大小将待传输的网络数据分割成多个数据块;利用预先确定好的哈希算法计算分别计算每个数据块对应的哈希值,将每个数据块与其对应的哈希值一起发送给数据接收方,在数据接收方接收到传输的数据块和对应的哈希值之后,通过相同的哈希算法对接收到的数据块进行哈希值计算,并将计算结果与接收到的哈希值进行匹配,以检测接收到的数据块是否存在被篡改或者数据损坏等,当任一数据块的哈希值不匹配时,数据接收方会重新向数据发送方请求所述数据块的数据传输请求,从而在确定接收到的数据块是完整且安全之后,按照数据块的顺序进行数据重组,恢复成完整网络数据,进而完成网络数据传输。

2、但是,随着因特网流量的增加和越来越多高带宽消耗(bandwidth-intensive)应用的出现,广域网网络带宽越来越难以满足应用需求,从而导致上述的网络数据传输过程中还存在数据丢包的情况,例如:某公司经常白天用网的人数远大于晚上用网的人数,进而容易造成瞬时网络拥堵,导致数据传输中断,从而出现数据丢包的情况,在出现数据丢包时,就需要对丢失的数据块进行重新传输,当丢失的数据块较少时,过小的数据块会增加哈希算法的计算量,但当丢失的数据块较多时,过大的数据块会对重新传输过程造成较大的负担,从而降低了网络数据传输效率。

3、因此,如何在数据丢包的情况下提高网络数据传输效率成为亟需解决的问题。


技术实现思路

1、本发明的主要目的在于提供一种基于哈希算法重组的数据传输方法,可以提高数据丢包下网络数据传输的效率和准确性。

2、为实现上述目的,本技术提供一种基于哈希算法重组的数据传输方法,所述方法包括:

3、获取待传输的网络数据,利用初始数据块大小对所述待传输的网络数据进行顺序划分;

4、根据初始评估窗口计算已传输的数据块的初始丢包率;

5、根据已传输的数据块的丢包率,确定未传输的数据块的评估窗口调整因子;

6、根据所述评估窗口调整因子对所述已传输的数据块的初始评估窗口进行尺寸调整,得到调整后的初始评估窗口;

7、根据所述已传输的初始丢包率和数据块大小,计算所述未传输的数据块的目标数据块大小;

8、根据所述调整后的初始评估窗口和所述目标数据块大小,对所述未传输的数据块进行传输。

9、可选的,所述根据已传输的数据块的丢包率,确定未传输的数据块的评估窗口调整因子,具体为根据已传输的数据块的丢包率,确定未传输的第t+1个数据块的评估窗口调整因子,包括:

10、以任一所述已传输的数据块为预设的最小评估窗口的起始点,根据所述预设的最小评估窗口中已传输的数据块计算所述已传输的数据块的目标丢包率;

11、根据所述预设的最小评估窗口获取所述已传输的第t个数据块的相邻已传输数据块;

12、根据所述已传输的第t个数据块与其相邻已传输数据块之间的目标丢包率的差异,获取所述未传输的第t+1个数据块的评估窗口调整因子。

13、可选的,所述根据所述已传输的第t个数据块与其相邻已传输数据块之间的目标丢包率的差异,获取所述未传输的第t+1个数据块的评估窗口调整因子,包括:

14、根据所述已传输的第t个数据块的最小评估窗口中的每个数据块的前后传输顺序作为横坐标,以所述每个数据块的目标丢包率作为纵坐标,构建得到已传输的第t个数据块的目标丢包率曲线;

15、针对所述已传输的第t个数据块的第i个相邻已传输数据块,计算所述第i个相邻已传输数据块与所述已传输的第t个数据块之间的数据块数量,根据所述已传输的第t个数据块的最小评估窗口中的每个数据块在目标丢包率曲线上对应一个数据点,利用l2范数公式计算所述第i个相邻已传输数据块与第i+1个相邻已传输数据块之间对应在所述目标丢包率曲线中的两个数据点之间的欧式距离,所述i为正整数;

16、获取所述已传输的第t个数据块的每个所述相邻已传输数据块对应的欧式距离及其权重,根据所述已传输的第t个数据块所对应的所有欧式距离以及每个欧式距离对应的权重,进行加权求和得到第一相加结果;

17、针对所述已传输的第t个数据块的任一相邻已传输数据块,根据所述相邻已传输数据块的最小评估窗口中的每个数据块,获取所述相邻已传输数据块所对应的所有欧式距离以及每个欧式距离对应的权重,根据所述相邻已传输数据块所对应的所有欧式距离以及每个欧式距离对应的权重,进行加权求和得到第二相加结果;

18、获取所述已传输的第t个数据块的每个相邻已传输数据块的第二相加结果,根据所有所述第二相加结果和所述第一相加结果,获取所述未传输的第t+1个数据块的评估窗口调整因子。

19、可选的,所述评估窗口调整因子的计算公式为:

20、

21、其中,ξt+1表示所述未传输的第t+1个数据块的评估窗口调整因子;norm表示归一化函数;l表示所述预设的最小评估窗口的尺寸或所述预设的最小评估窗口中所包含数据块的数量;dt,i表示所述已传输的第t个数据块与其最小评估窗口中的第i个相邻已传输数据块之间的数据块数量;||ht,i-ht,i+1||表示所述已传输的第t个数据块的最小评估窗口中的第i个相邻已传输数据块与第i+1个相邻已传输数据块对应在所述目标丢包率曲线中的两个数据点之间的欧式距离;di,j表示针对所述已传输的第t个数据块的第i个相邻已传输数据块,所述第i个相邻已传输数据块与其最小评估窗口中的第j个相邻已传输数据块之间的数据块数量,所述j为正整数;||hi,j-hi,j+1||表示针对所述已传输的第t个数据块的第i个相邻已传输数据块,所述第i个相邻已传输数据块的最小评估窗口中的第j个相邻已传输数据块与第j+1个相邻已传输数据块对应在第i个相邻已传输数据块的目标丢包率曲线中的两个数据点之间的欧式距离;||*||表示l2范数的表示符号。

22、可选的,根据所述评估窗口调整因子对所述已传输的数据块的初始评估窗口进行尺寸调整,得到调整后的初始评估窗口,具体为所述根据所述评估窗口调整因子对所述已传输的第t个数据块的初始评估窗口进行尺寸调整,得到调整后的初始评估窗口,包括:

23、获取所述已传输的第t个数据块的初始评估窗口的初始尺寸;

24、计算所述评估窗口调整因子与所述初始尺寸之间的乘积作为调整后的初始评估窗口;

25、所述调整后的初始评估窗口的尺寸计算表达式为:

26、m′=ξt+1·m,

27、其中,m′表示计算未传输的第t+1个数据块的丢包率所对应的初始评估窗口的尺寸;ξt+1表示未传输的第t+1个数据块的评估窗口调整因子;m表示已传输的第t个数据块的初始评估窗口的尺寸,即所述预设的初始评估窗口。

28、可选的,根据所述已传输的初始丢包率和数据块大小,计算所述未传输的数据块的目标数据块大小,具体为所述根据所述已传输的第t个数据块的初始丢包率和数据块大小,计算所述未传输的第t+1个数据块的目标数据块大小,包括:

29、获取预设值与所述已传输的第t个数据块的初始丢包率之间的差值;

30、将所述差值与所述已传输的第t个数据块的数据块大小之间的乘积作为所述未传输的第t+1个数据块的目标数据块大小;

31、所述未传输的第t+1个数据块的目标数据块大小的计算公式为:

32、gt+1=[1-φ(ht)]·gt

33、其中,gt+1表示未传输的第t+1个数据块的目标数据块大小,φ(ht)表示已传输的第t个数据块的初始丢包率,gt表示已传输的第t个数据块的数据块大小,1表示预设值。

34、可选的,所述待传输的网络数据为二进制数据。

35、本技术另一方面还提供一种基于哈希算法重组的数据传输装置,包括:

36、数据划分模块,用于获取待传输的网络数据,利用初始数据块大小对所述待传输的网络数据进行顺序划分;

37、第一计算模块,用于根据初始评估窗口计算已传输的数据块的初始丢包率;

38、所述第一计算模块,还用于根据已传输的数据块的丢包率,确定未传输的数据块的评估窗口调整因子;

39、第二计算模块,用于根据所述评估窗口调整因子对所述已传输的数据块的初始评估窗口进行尺寸调整,得到调整后的初始评估窗口;

40、所述第二计算模块,还根据所述已传输的初始丢包率和数据块大小,计算所述未传输的数据块的目标数据块大小;

41、传输模块,用于根据所述调整后的初始评估窗口和所述目标数据块大小,对所述未传输的数据块进行传输。

42、本技术另一方面提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面及其任一种可能的实现方式的步骤。

43、本技术另一方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如第一方面所述的方法中的各个步骤。

44、本技术提供一种基于哈希算法重组的数据传输方法,通过获取待传输的网络数据,利用初始数据块大小对所述待传输的网络数据进行顺序划分;根据初始评估窗口计算已传输的数据块的初始丢包率;根据已传输的数据块的丢包率,确定未传输的数据块的评估窗口调整因子;根据所述评估窗口调整因子对所述已传输的数据块的初始评估窗口进行尺寸调整,得到调整后的初始评估窗口;根据所述已传输的初始丢包率和数据块大小,计算所述未传输的数据块的目标数据块大小;根据所述调整后的初始评估窗口和所述目标数据块大小,对所述未传输的数据块进行传输,其中,根据已传输的数据块的丢包率,对未传输的数据块的数据块小大进行实时动态调整,以在丢包率高时,缩小未传输的数据块的数据块大小,使得未传输的数据块的传输成本降低,而在丢包率低的时,增大未传输的数据块的数据块大小,提高数据传输的效率;同时,根据已传输的数据块的丢包率对丢包率的评估窗口尺寸进行动态调整,能够避免丢包率评估延迟问题,进而根据动态调整后的丢包率的评估窗口和数据块大小,对未传输的数据块进行基于哈希算法重组的数据传输,提高了数据丢包下网络数据传输的效率和准确性。

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