数据传输方法及装置与流程

文档序号:26748656发布日期:2021-09-25 01:43阅读:95来源:国知局
数据传输方法及装置与流程

1.本技术实施例涉及数据传输技术领域,尤其涉及一种数据传输方法及装置。


背景技术:

2.在信息安全领域中,有时要求数据只能进行单向传输,以避免信息泄露。
3.在进行数据单向传输的场景下,如果直接将数据进行传输,由于单向传输没有相应的反馈,可能导致数据在传输过程中出现错误。因此为了保证数据的正确传输,通常会采用前向纠错编码进行错误码的纠正,即在确定编码码率后,发送端根据编码码率发送有纠错能力的码,接收端接收到这些码后通过纠错译码自动纠正传输中的错误。
4.上述数据传输的方案在传输的数据量较小时,带宽利用率较低,而在传输的数据量较大时传输的效率受限。


技术实现要素:

5.本技术实施例提供一种数据传输方法及装置,以解决在数据传输的数据量较小时带宽利用率较低,在数据量较大时传输的效率受限的问题。
6.第一方面,本技术实施例提供一种数据传输方法,包括:
7.发送端设备根据已缓存的待传输数据的大小,确定编码码率,其中,所述编码码率与所述已缓存的待传输数据的大小呈正相关;
8.所述发送端设备根据所述编码码率对所述已缓存的待传输数据进行前向纠错编码,得到对应的编码数据;
9.所述发送端设备向接收端设备发送所述编码数据。
10.在一种可能的实施方式中,根据已缓存的待传输数据的大小,确定编码码率,包括:
11.根据所述已缓存的待传输数据的大小,确定期望码率值;其中,所述期望码率值位于预设的可选编码方案中的最小码率值与最大码率值之间,并且,所述期望码率值的大小与所述已缓存的待传输数据的大小呈正相关;
12.根据所述期望码率值,在所述预设的可选编码方案中的多个码率值中确定所述编码码率,其中,所述编码码率为所述多个码率值中小于或等于所述期望码率值中数值最大的码率值,或者,所述多个码率值中大于或等于所述期望码率值中数值最小的码率值。
13.在一种可能的实施方式中,根据所述已缓存的待传输数据的大小,确定期望码率值,包括:
14.根据所述已缓存的待传输数据的大小,获取所述已缓存的待传输数据占所述发送端设备的存储空间的缓存数据比例;
15.根据所述缓存数据比例确定所述期望码率值,其中,所述期望码率值为:
16.p=rmin+(rmax

rmin)*k,
17.所述p为所述期望码率值,所述rmin为所述最小码率值,所述rmax为所述最大码率
值,所述k为所述缓存数据比例,0<rmin<rmax<1,0<=k<=1。
18.在一种可能的实施方式中,根据所述编码码率对所述已缓存的待传输数据进行前向纠错编码,得到对应的编码数据,包括:
19.对所述已缓存的待传输数据进行拆分,得到多个待传输数据片段,其中,各所述待传输数据片段的长度相同;
20.根据所述编码码率对各所述待传输数据片段分别进行前向纠错编码,得到各所述待传输数据片段对应的编码数据片段,所述编码数据包括各所述待传输数据片段对应的编码数据片段。
21.在一种可能的实施方式中,所述方法还包括:
22.从外网主机设备获取待传输数据并进行缓存;
23.根据预设时间间隔获取所述已缓存的待传输数据的大小。
24.第二方面,本技术实施例提供一种数据传输方法,包括:
25.接收端设备从发送端设备接收编码数据,所述编码数据包括多个编码数据片段;
26.所述接收端设备根据各所述编码数据片段的长度确定对应的编码码率,其中,长度不同的编码数据片段对应的编码码率不同;
27.所述接收端设备根据对应的编码码率对各所述编码数据片段进行解码,得到对应的解码数据,其中,所述解码数据包括多个已接收的数据片段,各所述已接收的数据片段的长度相同。
28.在一种可能的实施方式中,所述方法还包括:
29.向内网主机设备发送所述解码数据。
30.第三方面,本技术实施例提供一种数据传输装置,包括:
31.确定模块,用于根据已缓存的待传输数据的大小,确定编码码率,其中,所述编码码率与所述已缓存的待传输数据的大小呈正相关;
32.编码模块,用于根据所述编码码率对所述已缓存的待传输数据进行前向纠错编码,得到对应的编码数据;
33.发送模块,用于向接收端设备发送所述编码数据。
34.在一种可能的实施方式中,所述确定模块具体用于:
35.根据所述已缓存的待传输数据的大小,确定期望码率值;其中,所述期望码率值位于预设的可选编码方案中的最小码率值与最大码率值之间,并且,所述期望码率值的大小与所述已缓存的待传输数据的大小呈正相关;
36.根据所述期望码率值,在所述预设的可选编码方案中的多个码率值中确定所述编码码率,其中,所述编码码率为所述多个码率值中小于或等于所述期望码率值中数值最大的码率值,或者,所述多个码率值中大于或等于所述期望码率值中数值最小的码率值。
37.在一种可能的实施方式中,所述确定模块具体用于:
38.根据所述已缓存的待传输数据的大小,获取所述已缓存的待传输数据占所述发送端设备的存储空间的缓存数据比例;
39.根据所述缓存数据比例确定所述期望码率值,其中,所述期望码率值为:
40.p=rmin+(rmax

rmin)*k,
41.所述p为所述期望码率值,所述rmin为所述最小码率值,所述rmax为所述最大码率
值,所述k为所述缓存数据比例,0<rmin<rmax<1,0<=k<=1。
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.第七方面,本技术实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面或第二方面中任一所述的数据传输方法。
71.第八方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面或第二方面中任一项所述的数据传输方法。
72.本技术实施例提供的数据传输方法及装置,首先发送端设备根据已缓存的待传输数据的大小,确定编码码率,然后根据编码码率对已缓存的待传输数据进行前向纠错编码,得到对应的编码数据,并向接收端设备发送该编码数据。由于编码码率是根据已缓存的待传输数据的大小确定的,且编码码率与已缓存的待传输数据的大小呈正相关的关系,因此在需要传输的数据量较大时,可以适当提高编码码率以保证数据传输的效率,在需要传输的数据量较小时,可以适当降低编码码率以提高带宽利用率。
附图说明
73.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
74.图1为本技术实施例提供的一种应用场景示意图;
75.图2为本技术实施例提供的数据传输方法的流程示意图;
76.图3为本技术实施例提供的数据传输示意图;
77.图4为本技术实施例提供的数据传输的流程示意图;
78.图5为本技术实施例提供的编码码率与发送带宽示意图;
79.图6为本技术实施例提供的数据传输方法的流程示意图;
80.图7为本技术实施例提供的数据传输装置的结构示意图;
81.图8为本技术实施例提供的一种数据传输装置的结构示意图;
82.图9为本技术实施例提供的数据传输设备的硬件结构示意图;
83.图10为本技术实施例提供的一种数据传输系统的结构示意图。
具体实施方式
84.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例
中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
85.首先对本技术涉及的概念进行简要介绍。
86.前向纠错编码:forward error correction,简称fec,又称冗余编码,是一种增加数据通讯可信度的编码方式。发送端发送有纠错能力的码(即纠错码),接收到这些码后,通过纠错译码自动纠正数据传输中的错误。其中,纠错码就是给信息位加上一定的冗余度,其结果是降低了数据传输的效率,但提高了数据传输的可靠性。
87.码率:信息位占码字的比重。对于一个码字而言,加入该码字中的信息位的长度为k,加上冗余信息后的长度为n,则该码字的码率为k/n。码率越大,表明传输的数据的效率越高,但纠错能力越低,数据传输的可靠性越低;反之,码率越小,表明传输的数据的效率越低,但纠错能力越高,数据传输的可靠性越高。
88.数据位宽:一次数据传输时的有效数据的位数。针对前向纠错编码而言,一个码字中包括信息位和冗余信息位,其中信息位的长度即为有效数据的位数。对一组发送端设备和接收端设备来说,数据位宽的取值的一定的。发送端设备对待传输数据进行前向纠错编码时,会将待传输数据进行拆分,得到多个待传输数据片段,每个待传输数据片段的长度都相同,该长度即为数据位宽的取值。编码码率不同时,在待传输数据片段上添加的冗余信息位的长度不同。
89.下面结合图1对本技术的一种适用的应用场景进行介绍。
90.图1为本技术实施例提供的一种应用场景示意图,如图1所示,包括外网主机设备11、隔离模块12、内网主机设备13、存储器14和存储器15,其中,隔离模块12中包括隔离模块发送端121和隔离模块接收端122,隔离模块发送端121即发送端设备,隔离模块接收端122即接收端设备,隔离模块发送端121和隔离模块接收端122为两个独立的设备。
91.外网主机设备11用于从外网接收待传输的外网数据,例如可以是视频数据、工业生产数据、控制数据、文件数据等等。外网主机设备11通过网口与外网相连,同时通过双向数据接口与隔离模块发送端121相连。
92.隔离模块发送端121带有存储器14,用于缓存隔离模块发送端121的数据。隔离模块发送端121通过单向通道(例如光纤)与隔离模块接收端122相连,隔离模块接收端122带有存储器15,用于缓存隔离模块接收端122接收到的数据。隔离模块接收端122对接收到的数据进行纠错解码,自动纠正传输中发生错误的数据,并缓存在存储器15中。最后,隔离模块接收端122从存储器15中取出解码后的数据,发送给内网主机设备13,完成数据从外网到内网的摆渡。隔离模块接收端122通过双向数据接口与内网主机设备13相连。
93.其中,存储器14可以独立于隔离模块发送端121存在,也可以为隔离模块发送端121的一部分;存储器15可以独立于隔离模块接收端122存在,也可以为隔离模块接收端122的一部分。
94.将数据从外网主机设备单向传输至内网主机设备时,由于单向传输没有反馈机制,数据传输的可靠性较低。因此,可以采用前向纠错编码技术对数据进行编码,然后在解码时进行错误码的纠正,来提高数据传输的可靠性。但是在采用前向纠错编码技术时,由于需要在数据中添加冗余信息,因此会降低数据传输的效率。
95.因此目前在实现数据单向传输时,通常是通过有选择性的对待传输数据进行前向纠错编码来平衡数据传输的可靠性和效率的。即,针对部分数据进行前向纠错编码来提高数据传输的可靠性,针对另一部分数据,不进行前向纠错编码,而是直接进行传输,以保证数据传输的效率。
96.上述方案由于部分数据不进行前向纠错编码,而是直接进行传输,因此这部分数据传输的可靠性无法得到保证。而针对进行了前向纠错编码的这部分数据,由于编码的码率固定,当需要传输的数据量较小时,部分空余带宽无法得到充分利用,当需要传输的数据量较大时,受限于固定的码率,也无法进一步提高数据传输的效率。
97.例如针对传输视频数据(数据量大)的应用场景,视频数据本身对误码有一定的容忍度,但是对传输效率的要求较高。而对于传输控制信号(数据量小)的应用场景,对传输效率的要求较低,但对传输的可靠性要求较高。
98.基于此,本技术实施例提供一种数据传输的方案,针对数据从外部非安全网络单向传输到内部安全网络的场景,根据实际情况进行编码码率的动态调节,在需要传输的数据量较小时降低编码码率,增加冗余度,以提高数据传输的可靠性,在需要传输的数据量较大时提高编码码率,以提高数据传输的效率。下面将对本技术的方案进行介绍。
99.图2为本技术实施例提供的数据传输方法的流程示意图,如图2所示,该方法可以包括:
100.s21,发送端设备根据已缓存的待传输数据的大小,确定编码码率,其中,所述编码码率与所述已缓存的待传输数据的大小呈正相关。
101.本技术实施例中的方案的执行主体为发送端设备,发送端设备例如可以为图1的示例中的隔离模块发送端。
102.数据需要从外网主机发送到内网主机,其中,数据通过外网主机先传输到发送端设备,并缓存在对应的存储器中,存储器中存储的即为已缓存的待传输数据,发送端设备需要将存储器中的已缓存的待传输数据传输到接收端设备。
103.存储器中的已缓存的待传输数据的大小是动态变化的,当外网主机发送的带宽较大时,存储器中的已缓存的待传输数据会逐渐变多,当外网主机发送的带宽较小时,存储器中的已缓存的待传输数据会逐渐变少。
104.为了保证数据传输的安全性,发送端设备会对已缓存的待传输数据进行编码后再进行传输。在编码之前,需要先确定编码码率。本技术实施例中,编码码率是根据已缓存的待传输数据的大小来确定的,编码码率与已缓存的待传输数据的大小呈正相关,即已缓存的待传输数据的大小越大,编码码率越大,已缓存的待传输数据的大小越小,编码码率越小。
105.根据已缓存的待传输数据的大小确定编码码率,可以有多种可能的实现方案。例如,已缓存的待传输数据的大小和编码码率之间可以存在预设的对应关系,根据已缓存的待传输数据的大小和预设的对应关系,就可以确定编码码率。例如,根据已缓存的待传输数据的大小可以确定一个期望码率值,然后基于该期望码率值确定编码码率,等等。只要满足编码码率与已缓存的待传输数据的大小呈正相关的关系即可。
106.s22,所述发送端设备根据所述编码码率对所述已缓存的待传输数据进行前向纠错编码,得到对应的编码数据。
107.本技术实施例中,发送端设备和接收端设备之间是通过单向通道连接的,即数据只能由发送端设备向接收端设备传输,而不能由接收端设备向发送端设备传输。因此,发送端设备无法根据接收端设备的反馈来判断接收端设备是否正确接收了数据。基于此,发送端设备在传输数据之前,首先可以对已缓存的待传输数据进行前向纠错编码,以提高数据传输的可靠性。
108.在根据已缓存的待传输数据的大小确定了编码码率后,发送端设备就可以根据该编码码率对已缓存的待传输数据进行前向纠错编码,得到对应的编码数据。
109.其中,编码码率指示了在一个码字中信息位所占的比重,编码码率越大,表示传输已缓存的待传输数据的效率越高,但是传输的可靠性越低;反之,编码码率越小,表示传输已缓存的待传输数据的效率越低,但是传输的可靠性越高。
110.s23,所述发送端设备向接收端设备发送所述编码数据。
111.在得到对应的编码数据后,发送端设备可以向接收端设备发送该编码数据。在发送端设备和接收端设备之间的发送带宽大致不变的情况下,编码码率越大,表示同样的时间段内传输的编码数据中信息位所占的比重越大,即同等时间能够传输更多的已缓存的待传输数据;反之,编码码率越小,表示同样的时间段内传输的编码数据中信息位所占的比重越小,即同等时间传输的已缓存的待传输数据更少,但是冗余信息更多,传输的安全性更高。
112.本技术实施例提供的数据传输方法,首先发送端设备根据已缓存的待传输数据的大小,确定编码码率,然后根据编码码率对已缓存的待传输数据进行前向纠错编码,得到对应的编码数据,并向接收端设备发送该编码数据。由于编码码率是根据已缓存的待传输数据的大小确定的,且编码码率与已缓存的待传输数据的大小呈正相关的关系,因此在需要传输的数据量较大时,可以适当提高编码码率以保证数据传输的效率,在需要传输的数据量较小时,可以适当降低编码码率以提高带宽利用率。
113.下面结合附图对本技术的方案进行详细介绍。
114.图3为本技术实施例提供的数据传输示意图,如图3所示,数据从外网主机设备最终传输到内网主机设备,中间涉及到发送端设备和接收端设备对数据的处理,对数据的处理包括传输、缓存、编码、解码等,下面将结合图4进行说明。
115.图4为本技术实施例提供的数据传输的流程示意图,如图4所示,包括:
116.s41,外网主机设备向发送端设备发送待传输数据。
117.外网主机设备从外部网络获取待传输数据,然后向发送端设备发送该待传输数据。如图3中所示,其中外网主机设备向发送端设备发送待传输数据是通过网口实现的。
118.s42,发送端设备接收待传输数据并缓存。
119.在图3中,发送端设备从外网主机设备接收待传输数据后,将待传输数据缓存在存储器1中,其中存储器1可以是与发送端设备独立的存储器,也可以是设置于发送端设备内部的存储器。
120.存储器1中的数据为已缓存的待传输数据,发送端设备一面将外网主机设备发送的待传输数据缓存在存储器1中,一面将已缓存的待传输数据处理后发送出去,因此存储器1中的已缓存的待传输数据是动态变化的。
121.当外网主机设备发送待传输数据的发送带宽较大,而发送端设备的发送带宽较小
时,存储器1中的已缓存的待传输数据就会逐渐变多;当外网主机设备发送待传输数据的发送带宽较小,而发送端设备的发送带宽较大时,存储器1中的已缓存的待传输数据就会逐渐减小。
122.s43,发送端设备根据已缓存的待传输数据确定编码码率。
123.由于外网主机设备的发送带宽和发送端设备的发送带宽会影响存储器1中的已缓存的待传输数据的大小,发送端设备需要根据已缓存的待传输数据确定编码码率,因此,发送端设备需要获取存储器1中的已缓存的待传输数据的大小。
124.其中,发送端设备可以实时统计存储器1中的已缓存的待传输数据的大小,也可以定时统计存储器1中的已缓存的待传输数据的大小。可选的,本技术实施例中,可以根据预设时间间隔获取已缓存的待传输数据的大小。实时统计已缓存的待传输数据的大小可能造成发送端设备和接收端设备之间的单向通道内的数据带宽频繁波动,因此根据预设时间间隔来统计已缓存的待传输数据的大小可以避免这种频繁波动,例如可以每隔10ms、20ms或其他适合的时间间隔来更新一次已缓存的待传输数据的大小。
125.针对任意一次统计,在确定了存储器1中的已缓存的待传输数据的大小之后,就可以根据已缓存的待传输数据的大小,确定编码码率。由于编码码率与已缓存的待传输数据的大小呈正相关的关系,而已缓存的待传输数据的大小与外网主机设备的发送带宽也呈正相关的关系,因此,在其他条件不变的情况下,外网主机设备的发送带宽越大,相应的编码码率越高,外网主机设备的发送带宽越小,相应的编码码率越低。
126.一种确定编码码率的实现方案是,首先根据已缓存的待传输数据的大小,确定期望码率值,该期望码率值位于预设的可选编码方案中的最小码率值与最大码率值之间,且期望码率值的大小与已缓存的待传输数据的大小呈正相关关系。确定期望码率值后,就可以根据期望码率值在预设的可选编码方案中的多个码率值中确定编码码率。
127.其中,预设的可选编码方案中包括多个码率值,最终的编码码率为这多个码率值中的一个。这是由于编码码率并不是连续可变的,而是离散变化的。预设的可选编码方案中的多个码率值即为编码码率的可选取值。
128.预设的可选编码方案中的多个码率值的取值与数据位宽相关,其中,数据位宽为发送端设备和接收端设备之间预先约定的每次进行数据传输时的数据片段的有效位数。数据位宽的取值可以为8比特、16比特、24比特等不同的取值,但是对于某一组发送端设备和接收端设备而言,数据位宽的取值是一定的。
129.在发送端设备向接收端设备传输数据时,会对待传输数据进行拆分,拆分后得到多个待传输数据片段,每个待传输数据片段的长度相同,该长度即为数据位宽。同时,在后续进行前向纠错编码时,待传输数据片段的长度即为信息位长度。在待传输数据片段上加上冗余信息即可得到对应的编码数据片段,再进行传输。
130.以数据位宽为8比特为例,发送端设备向接收端设备传输数据时,对待传输数据进行拆分,即得到多个长度为8比特的待传输数据片段,信息位长度为8比特。在信息位后加上冗余信息,即实现了前向纠错编码。设冗余信息位为k,则对上述长度为8比特的待传输数据片段进行前向纠错编码时,编码码率为8/(k+8)。k的取值的不同对应于不同的编码码率。此时,预设的可选编码方案中的多个码率值例如可以包括8/15、8/16、8/17、8/18、8/n等等,n为大于8的正整数。编码码率的取值为这多个码率值中的一个。
131.在上述实施例中,以数据位宽为8比特为例介绍了可能的编码码率的取值,在数据位宽为16比特、24比特等其他的取值时,编码码率也相应有各种可能的取值,但是编码码率只能在这些数值下离散变化,而不能连续变化。
132.基于此,可以根据已缓存的待传输数据的大小,确定期望码率值,期望码率值为根据已缓存的待传输数据的大小确定的希望达到的码率值。但是期望码率可能不符合实际情况。例如当待传输数据片段的长度为8比特时,若期望码率值为8/15.5,此时期望码率值不符合实际情况,因此需要根据期望码率值的大小,进一步确定最终的编码码率。
133.具体的,可以先根据已缓存的待传输数据的大小,获取已缓存的待传输数据占发送端设备的存储空间的缓存数据比例,缓存数据比例在一定程度上反映了外网主机设备的发送带宽。然后,根据缓存数据比例来确定期望码率值。
134.当缓存数据比例较小时,外网主机设备的发送带宽相对较小,此时的期望码率越小,编码时添加的冗余信息越多,传输的可靠性越高;当缓存数据比例较大时,外网主机设备的发送带宽相对较大,此时的期望码率越大,添加的冗余信息越少,传输的效率较高。
135.根据缓存数据比例确定期望码率值的方式如下等式示例:
136.p=rmin+(rmax

rmin)*k,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
137.其中,p为期望码率值,rmin为最小码率值,rmax为最大码率值,k为缓存数据比例,0<rmin<rmax<1,0<=k<=1。
138.最小码率值rmin根据不同的应用场景,其值的大小可能不同。通常,最小码率值是根据外网主机设备的发送带宽和需要传输的数据的最小发送带宽确定的。例如,外网主机设备的发送带宽为1000bps/s,而待传输数据传输时最小需要达到400bps/s的发送带宽,则最小码率值为400/1000。最大码率值为一个小于或等于1且大于最小码率值的数值。预设的可选编码方案中包括多个码率值,这多个码率值中的任意一个码率值的大小均处于最小码率值和最大码率值之间。缓存数据比例k为一个取值范围在0

1之间的数值。当发送端设备一定,发送端设备的存储空间也是一定的,因此已缓存的待传输数据越大,缓存数据比例k也越大,反之,已缓存的待传输数据越小,缓存数据比例k也越小。
139.在根据等式(1)确定了期望码率值后,可以根据期望码率值确定编码码率。由于编码码率的取值为预设的可选编码方案中的多个码率值中的一个,因此确定了期望码率值后,根据期望码率值在多个码率值中确定一个取值即可。
140.期望码率值为根据已缓存的待传输数据的大小确定的希望达到的码率值,若多个码率值中包括该期望码率值,则直接将该期望码率值确定为编码码率的取值即可。若多个码率值中不包括该期望码率值,可以将该多个码率值中小于或等于期望码率值中数值最大的码率值作为编码码率的取值,也可以将该多个码率值中大于或等于该期望码率值中数值最小的码率值作为编码码率的取值。
141.例如,预设的可选编码方案中的多个码率值包括:8/15、8/16、8/17、8/18、8/19,期望码率值为8/16.5。多个码率值中小于或等于期望码率值的包括8/17、8/18、8/19,因此可以将8/17、8/18、8/19中数值最大的8/17作为编码码率的取值;或者,多个码率值中大于或等于该期望码率值的包括8/15、8/16,因此可以将8/15、8/16中数值最大的8/16作为编码码率的取值。
142.s44,发送端设备根据编码码率对已缓存的待传输数据进行前向纠错编码,得到编
码数据。
143.在确定了编码码率后,发送端设备可以根据编码码率对已缓存的待传输数据进行前向纠错编码,得到对应的编码数据。具体的,首先需要对已缓存的待传输数据进行拆分,得到多个待传输数据片段,然后根据编码码率对待传输数据片段进行前向纠错编码即可。
144.在对已缓存的待传输数据进行拆分时,拆分得到的各个待传输数据片段的长度是相同的,等于数据位宽的取值。在发送端设备和接收端设备一定时,数据位宽的取值也是一定的,因此各个待传输数据片段的长度也都是一定的。即使编码码率在不同时刻的取值不同,但是各个待传输数据片段的长度也不会发生变化。
145.在得到待传输数据片段后,根据相应的编码码率对待传输数据片段添加冗余信息位,进行前向纠错编码即可。本技术实施例中,编码码率是根据已缓存的待传输数据的大小来动态变化的,因此不同时刻的编码码率可能是不同的。而各个待传输数据片段的长度相同,因此,相同的编码码率表示对应的待传输数据片段在进行前向纠错编码时添加的冗余信息位的长度相同,不同的编码码率表示添加的冗余信息位的长度不同。
146.因此,在同一编码方案下,即各待传输数据片段对应的编码码率相同的情况下,对各待传输数据片段分别进行前向纠错编码后得到的各个编码数据片段的长度是相同的;在不同编码方案下,即各待传输数据片段对应的编码码率不同的情况下,对各待传输数据片段分别进行前向纠错编码后得到的各个编码数据片段的长度是不同的。接收端设备在接收到各编码数据片段后,根据编码数据片段的长度就能够确定发送端设备的编码方案,从而进行相应的解码。
147.s45,发送端设备向接收端设备发送编码数据。
148.在图3中,在得到编码数据后,发送端设备就可以向接收端设备发送该编码数据,发送端设备和接收端设备之间的通道为单向通道,接收端设备不能向发送端设备发送数据。
149.由于编码码率能够根据已缓存的待传输数据的大小动态变化,而已缓存的待传输数据的大小间接反映了外网主机设备的发送带宽。因此,通过本技术的方案,动态调整编码码率,能够使得发送端设备和接收端设备之间的单向通道内的数据传输速率保持稳定。
150.图5为本技术实施例提供的编码码率与发送带宽示意图,如图5所示,分别示意了外网主机设备发送带宽随着时间的变化、编码码率随着时间的编码以及单向通道的发送带宽随着时间的变化。
151.从图5中可以看到,外网主机设备的发送带宽在刚开始较大,然后中间随着时间降低到一个较小的水平,此时已缓存的待传输数据减小,相应的编码码率也动态调整到较小的水平。经过一段时间,外网主机设备发送带宽增大,此时已缓存的待传输数据开始增加,编码码率也动态增加。在这一段时间内,单向通道的发送带宽一直保持在一个较稳定的水平,波动较小。
152.s46,接收端设备对编码数据解码得到解码数据并缓存。
153.接收端设备在接收到发送端设备发送的编码数据后,会对编码数据进行解码。编码数据包括多个编码数据片段,每个编码数据片段都是发送端设备根据对应的编码码率对待传输数据片段进行前向纠错编码得到的。由于各个待传输数据片段的长度均相同,因此,相同的编码码率进行前向纠错编码后得到的编码数据片段的长度相同,不同的编码码率进
行前向纠错编码后得到的编码数据片段的长度不同。
154.接收端设备根据编码数据片段的长度,就可以确定发送端设备采用了哪种编码方案,然后根据确定的编码方案,采取相应的解码方案进行解码,得到解码数据,并进行缓存。具体的,接收端设备在接收到编码数据后,针对编码数据中各个编码数据片段的长度,确定各编码数据片段对应的编码码率,然后根据对应的编码码率对各编码数据片段进行解码,得到对应的解码数据。其中,解码数据中包括多个已接收的数据片段,且各个已接收的数据片段的长度相同。如图3中所示,接收端设备在得到解码数据后,先缓存到存储器2中。
155.s47,接收端设备将缓存的解码数据发送给内网主机设备。
156.接收端设备从存储器2中取出解码数据,并向内网主机设备发送该解码数据,其中,存储器2可以是与接收端设备独立的存储器,也可以是设置于接收端设备内部的存储器。解码数据发送给内网主机设备之后,数据就完成了从外网主机设备到内网主机设备之间的单向传输。
157.图6为本技术实施例提供的数据传输方法的流程示意图,如图6所示,该方法可以包括:
158.s61,接收端设备从发送端设备接收编码数据,所述编码数据包括多个编码数据片段;
159.s62,所述接收端设备根据各所述编码数据片段的长度确定对应的编码码率,其中,长度不同的编码数据片段对应的编码码率不同;
160.s63,所述接收端设备根据对应的编码码率对各所述编码数据片段进行解码,得到对应的解码数据,其中,所述解码数据包括多个已接收的数据片段,各所述已接收的数据片段的长度相同。
161.可选的,所述方法还包括:
162.向内网主机设备发送所述解码数据。
163.图6示例的数据传输方法为接收端设备一侧的执行方法,具体的实现过程请参见上述实施例,此处不再赘述。
164.本技术实施例提供的数据传输方法,首先发送端设备根据已缓存的待传输数据的大小,确定编码码率,然后根据编码码率对已缓存的待传输数据进行前向纠错编码,得到对应的编码数据,并向接收端设备发送该编码数据。由于本技术实施例的方案针对所有待传输的数据均进行前向纠错编码,相比不进行前向纠错编码的数据传输方案其传输的可靠性更高。进一步的,由于编码码率是根据已缓存的待传输数据的大小确定的,且编码码率与已缓存的待传输数据的大小呈正相关的关系,因此在需要传输的数据量较大时,可以适当提高编码码率以保证数据传输的效率,在需要传输的数据量较小时,可以利用空余带宽适当降低编码码率,增加冗余度以提高数据传输的可靠性。
165.图7为本技术实施例提供的数据传输装置的结构示意图,如图7所示,该数据传输装置70包括:
166.确定模块71,用于根据已缓存的待传输数据的大小,确定编码码率,其中,所述编码码率与所述已缓存的待传输数据的大小呈正相关;
167.编码模块72,用于根据所述编码码率对所述已缓存的待传输数据进行前向纠错编码,得到对应的编码数据;
168.发送模块73,用于向接收端设备发送所述编码数据。
169.在一种可能的实施方式中,所述确定模块71具体用于:
170.根据所述已缓存的待传输数据的大小,确定期望码率值;其中,所述期望码率值位于预设的可选编码方案中的最小码率值与最大码率值之间,并且,所述期望码率值的大小与所述已缓存的待传输数据的大小呈正相关;
171.根据所述期望码率值,在所述预设的可选编码方案中的多个码率值中确定所述编码码率,其中,所述编码码率为所述多个码率值中小于或等于所述期望码率值中数值最大的码率值,或者,所述多个码率值中大于或等于所述期望码率值中数值最小的码率值。
172.在一种可能的实施方式中,所述确定模块71具体用于:
173.根据所述已缓存的待传输数据的大小,获取所述已缓存的待传输数据占所述发送端设备的存储空间的缓存数据比例;
174.根据所述缓存数据比例确定所述期望码率值,其中,所述期望码率值为:
175.p=rmin+(rmax

rmin)*k,
176.所述p为所述期望码率值,所述rmin为所述最小码率值,所述rmax为所述最大码率值,所述k为所述缓存数据比例,0<rmin<rmax<1,0<=k<=1。
177.在一种可能的实施方式中,所述编码模块72具体用于:
178.对所述已缓存的待传输数据进行拆分,得到多个待传输数据片段,其中,各所述待传输数据片段的长度相同;
179.根据所述编码码率对各所述待传输数据片段分别进行前向纠错编码,得到各所述待传输数据片段对应的编码数据片段,所述编码数据包括各所述待传输数据片段对应的编码数据片段。
180.在一种可能的实施方式中,所述确定模块还用于:
181.从外网主机设备获取待传输数据并进行缓存;
182.根据预设时间间隔获取所述已缓存的待传输数据的大小。
183.本技术实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
184.图8为本技术实施例提供的一种数据传输装置的结构示意图,如图8所示,该数据传输装置80包括:
185.接收模块81,用于从发送端设备接收编码数据,所述编码数据包括多个编码数据片段;
186.确定模块82,用于根据各所述编码数据片段的长度确定对应的编码码率,其中,长度不同的编码数据片段对应的编码码率不同;
187.解码模块83,用于根据对应的编码码率对各所述编码数据片段进行解码,得到对应的解码数据,其中,所述解码数据包括多个已接收的数据片段,各所述已接收的数据片段的长度相同。
188.在一种可能的实施方式中,还包括发送模块,所述发送模块用于:
189.向内网主机设备发送所述解码数据。
190.本技术实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
191.本技术还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得数据传输设备执行上述任一实施例提供的方案。
192.可选的,在上述任一实施例中,可以通过现场可编程逻辑门阵列(field programmable gate array,简称fpga)来实现发送端设备和接收端设备各自的功能,计算机程序也可以通过硬件描述语言来编写和实现,例如verilog及相关硬件描述语言等等。
193.图9为本技术实施例提供的数据传输设备的硬件结构示意图,如图9所示,该数据传输设备包括:至少一个处理器91和存储器92。其中,处理器91和存储器92通过总线93连接。
194.可选地,该模型确定还包括通信部件。例如,通信部件可以包括接收器和/或发送器。
195.在具体实现过程中,至少一个处理器91执行所述存储器92存储的计算机执行指令,使得至少一个处理器91执行如上的数据传输方法。
196.处理器91的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
197.在上述图9所示的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
198.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
199.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
200.图10为本技术实施例提供的一种数据传输系统的结构示意图,如图10所示,包括发送端设备101和接收端设备102,
201.所述发送端设备101和所述接收端设备102通过单向通道连接,所述发送端设备101用于:
202.根据已缓存的待传输数据的大小,确定编码码率,所述编码码率与所述已缓存的待传输数据的大小呈正相关;
203.根据所述编码码率对所述已缓存的待传输数据进行前向纠错编码,得到对应的编码数据;
204.向所述接收端设备102发送所述编码数据,所述编码数据包括多个编码数据片段;
205.所述接收端设备102用于:
206.根据各所述编码数据片段的长度确定对应的编码码率;
207.根据对应的编码码率对各所述编码数据片段进行解码,得到对应的解码数据,其
中,所述解码数据包括多个已接收的数据片段,各所述已接收的数据片段的长度相同。
208.在一种可能的实施方式中,所述发送端设备101具体用于:
209.根据所述已缓存的待传输数据的大小,确定期望码率;其中,所述期望码率值位于预设的可选编码方案中的最小码率值与最大码率值之间,并且,所述期望码率值的大小与所述已缓存的待传输数据的大小呈正相关;
210.根据所述期望码率值,在所述预设的可选编码方案中的多个码率值中确定所述编码码率,其中,所述编码码率为所述多个码率值中小于或等于所述期望码率值中数值最大的码率值,或者,所述多个码率值中大于或等于所述期望码率值中数值最小的码率值;
211.对所述已缓存的待传输数据进行拆分,得到多个待传输数据片段,其中,各所述待传输数据片段的长度相同;
212.根据所述编码码率对各所述待传输数据片段分别进行前向纠错编码,得到各所述待传输数据片段对应的编码数据片段,所述编码数据包括各所述待传输数据片段对应的编码数据片段;
213.向所述接收端设备102发送所述编码数据片段。
214.发送端设备101和接收端设备102的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
215.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的数据传输方法。
216.上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
217.一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
218.所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
219.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
220.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
221.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
222.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
223.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1