一种冗余信息辅助的编码缓存重传方法及系统

文档序号:37222486发布日期:2024-03-05 15:21阅读:13来源:国知局
一种冗余信息辅助的编码缓存重传方法及系统

本发明涉及通信,尤其涉及一种冗余信息辅助的编码缓存重传方法及系统。


背景技术:

1、近些年来,随着手机、电脑的快速普及,网络的数据流量呈现飞速增长的趋势。同时,视频数据流量占据了网络数据流量的大部分。如何对网络传输性能进行提高成为了一个重要的问题。

2、为了降低流量高峰期网络的传输负担,一种方法是利用分布在用户的缓存空间预先将一部分内容存储在用户中,从而使得当用户请求的信息包含这一部分内容时,可以直接从缓存中获取,从而降低一部分网络传输负担。但这种传统的缓存机制对于网络流量的减少能力十分有限,并且很大程度取决于用户缓存大小,具有较大的局限性。

3、一方面,对于文件传输网络,通过设计每个用户从服务器获取的信息填充用户的缓存,再由服务器经过共享链路向用户发送编码信号,从而使得用户可以根据缓存和信号恢复出请求的文件。这种方法相较于传统的缓存方案大幅减少了链路上的传输速率需求,这便是编码缓存。

4、另一方面,对于通信链路上发生的差错,通常会采用自动重传技术或者前向纠错技术来恢复发生错误的内容。但是,在编码缓存中,目标用户集是一个变化的集合,这样一个特征使得传统的重传策略可能导致编码缓存的全局缓存增益减小,多播个数减少。


技术实现思路

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、本发明实施例具有如下有益效果:通过预先在客户端中缓存一部分的子文件,从而构造目标用户集的多播机会,减少第一次传输所需的信息量,并且在发生丢包时根据丢失数据包生成组合数据包以帮助客户端重新接收,进一步降低可靠传输文件的所需信息量,能够在保证传输可靠性的前提下,大幅减少共享链路上的流量负担。

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