一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据传输的方法和装置与流程

2021-10-23 01:20:00 来源:中国专利 TAG:数据传输 装置 特别 通信 方法


1.本技术涉及通信技术领域,特别涉及一种数据传输的方法和装置。


背景技术:

2.随着以太网速率的不断提升,转发设备面临的每秒接收报文(packet per second,pps)压力也越来越大。目前,为了减小pps压力,行业内将以太网最大传输单元(maximum transmission unit,mtu)的大小已经增大到了9000个字节,后续mtu可能会继续增大。在进行报文转发时,对于传统的存储转发方式来说,需要缓存完整的报文后,才能对该报文进行转发。这样,报文转发时延较大,且随着报文大小的不断增大,为了满足转发报文时的缓存需求,转发设备的缓存区也要不断增大。如何在不增大缓存区的情况下,实现报文转发是当前急需解决的问题。
3.目前,为了解决上述问题,一般采用直通转发(cut-through)技术。即在接收到报文中携带的目的地址后,可以通过该目的地址确定出端口,并通过该出端口对报文进行转发。这样,只需缓存目的地址即可,对缓存需要较小,且时延也不受报文长度影响。
4.在实现本技术的过程中,发明人发现相关技术至少存在以下问题:
5.在采用cut-through技术进行报文转发时,如果报文当前所在的转发设备的出端口转发速率比下一跳的转发设备的出端口转发速率高,则在下一跳的转发设备中需要对接收且未发出的报文进行缓存,仍然需要占用较大的缓存区。如果转发设备的入端口接收速率小于出端口转发速率的话,则会出现报文拉断的情况。可见,该cut-through技术对转发设备的端口速率约束较大,不能普遍应用于网络中。


技术实现要素:

6.为了解决相关技术中由于转发长报文时对转发设备端口速率约束较大,而不能普遍应用于网络中的问题,本技术实施例提供了一种数据传输的方法和装置。所述技术方案如下:
7.第一方面,提供了一种数据传输的方法,该方法包括:
8.接收待转发数据块的首个数据分片,其中,所述首个数据分片中携带有第一标识信息和所述待转发数据块的路由信息,所述待转发数据块的各数据分片中均携带有所述第一标识信息;
9.基于所述待转发数据块的路由信息,确定所述待转发数据块对应的目标出端口;
10.当所述目标出端口的可分配带宽满足所述待转发数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息;
11.将所述首个数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的首个数据分片;
12.当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转
发替换处理后的其他数据分片。
13.本技术实施例所示的方案中,以数据分片的形式对待转发数据块进行转发,这样,单个数据分片的数据量较小,对转发设备的缓存要求也就相对较小,且对相邻两转发设备的出端口速率没有过多约束,在网络中可以普遍应用。
14.此外,在接收到待转发数据块的首个数据分片后,先判断目标出端口的可分配带宽是否满足该待转发数据块的带宽需求,只有满足带宽需求的情况下,才会对其分配第二标识信息,并进行转发,而该待转发数据块的其他数据分片,则可以无需再次进行判断直接分配第二标识信息进行转发。
15.传统的分片转发方式,转发设备无论同时接收到多个不同待转发数据块分别对应的分片,均会公平的进行转发。下面列举一例对传统分片转发进行说明。
16.转发设备几乎同时接收到来自30个终端(如摄像机)的30张不同照片的数据分片,而这30张照片对应的数据分片均需要在出端口1发出。那么,转发设备会公平的对这30张照片的数据分片进行转发,即先转发照片1的第一数据分片,再转发照片2的第一个数据分片,直到转发完照片30的第一个数据分片,再继续转发照片1的第二个数据分片,依次类推。这样,每张照片到目的设备用时几乎相同,但是,在照片较大,每张照片的数据分片较多时,每张照片的第一个数据分片和最后一个数据分片到达目的设备的时间间隔会很大,导致每张照片的传输时延都很大。为了减少照片的整体时延,目的设备就需要在接收到照片的全部数据分片后,就立刻对照片进行处理,由于30张照片几乎同时到达目的设备,那么,就需要30个处理核来分别对照片进行处理。
17.以上述举例为背景对本技术实施例所示的方案进行说明。
18.转发设备几乎同时接收到来自30个终端(如摄像机)的30张不同照片的首个数据分片,转发设备不会立即进行转发,而是先判断出端口的可分配带宽,是否满足照片的带宽需求,只有满足,才会对该照片分配一个第二标识,并对该照片的首个数据分片进行转发。而其余不满足带宽需求的照片,则需要进行等待,直到可分配带宽满足其带宽需求时,才会对其首个数据分片进行转发。在已经转发了首个数据分片的照片的其余数据分片到达后,可以直接替换第二标识进行转发。这样,通过带宽限制,在转发时有效的限制同时转发的不同照片的数量,使得属于同一照片的数据分片可以以所需带宽被快速转发。此外,限制了同时可转发的不同待转发数据块的数量,使得同一照片的不同数据分片被转发时,无需等待其他照片的数据分片,则同一照片的不同数据分片转发的时间间隔相对较小。那么,同一照片的全部数据分片,可以以可控的时间到达最后的目的设备,以便被尽快处理。由于限制了同时转发的照片数量,那么,最后同时到达目的设备的照片会相对较少,即无需再配置30个处理核进行处理,节省了大量计算资源。
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.所述当所述目标出端口的可分配带宽满足所述待发送数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息,包括:
71.当接收到所述控制设备基于所述数据发送请求中携带的带宽需求带宽返回的数据发送许可信息时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息。
72.在一种可能的实现方式中,所述发送许可信息中携带有用于发送所述待发送数据块的目标带宽;
73.所述通过所述目标出端口发送多个添加所述第一标识信息后的数据分片,包括:
74.通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
75.在一种可能的实现方式中,所述当所述目标出端口的可分配带宽满足所述待发送数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息,包括:
76.获取所述待发送数据块对应的需求带宽范围;
77.获取所述目标出端口的可分配带宽;
78.当所述目标出端口的可分配带宽在大于所述需求带宽范围中的需求带宽下限值时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息;
79.所述通过所述目标出端口发送多个添加所述第一标识信息后的数据分片之前,所述方法还包括:
80.根据所述需求带宽范围和所述可分配带宽,对所述待发送数据块分配目标带宽;
81.所述通过所述目标出端口发送多个添加所述第一标识信息后的数据分片,包括:
82.通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
83.在一种可能的实现方式中,所述根据所述需求带宽范围和所述可分配带宽,对所述待发送数据块分配目标带宽,包括:
84.如果所述可分配带宽在所述需求带宽范围内,则将所述可分配带宽确定为对所述待发送数据块分配的目标带宽;
85.如果所述可分配带宽大于所述需求带宽范围中的需求带宽上限值,则将所述需求带宽上限值确定为对所述待发送数据块分配的目标带宽。
86.第三方面、一种数据传输的装置,其特征在于,所述装置包括:
87.接收模块,用于接收待转发数据块的首个数据分片,其中,所述首个数据分片中携带有第一标识信息和所述待转发数据块的路由信息,所述待转发数据块的各数据分片中均携带有所述第一标识信息;
88.确定模块,用于基于所述待转发数据块的路由信息,确定所述待转发数据块对应的目标出端口;
89.获取模块,用于当所述目标出端口的可分配带宽满足所述待转发数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息;
90.转发模块,用于将所述首个数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的首个数据分片;当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的其他数据分片。
91.在一种可能的实现方式中,所述装置还包括:
92.更新模块,用于将所述第二标识信息的状态更新为已使用;将所述第一标识信息作为目标原标识信息,将所述第二标识信息作为目标更新标识信息;将接收所述首个数据分片的入端口的端口标识、所述第一标识信息、所述第二标识信息和所述目标出端口的端口标识对应存储在包括有入端口的端口标识、原标识信息、更新标识信息和出端口的端口标识的对应关系的标识信息转发表中。
93.在一种可能的实现方式中,所述转发模块,用于:
94.当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,确定所述其他数据分片为所述待转数据的中间数据分片;
95.在所述标识信息转发表中,确定入端口的端口标识为所述目标入端口的端口标识、原标识信息为所述第一标识信息时,对应的更新标识信息为所述第二标识信息,对应的出端口的端口标识为所述目标出端口的端口标识;
96.将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息;
97.通过所述目标出端口转发替换处理后的其他数据分片。
98.在一种可能的实现方式中,所述转发模块,用于:
99.当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,确定所述其他数据分片为所述待转发数据的最后一个数据分片;
100.在所述标识信息转发表中,确定原标识信息为所述第一标识信息时,对应的更新标识信息为所述第二标识信息,对应的出端口标识为所述目标出端口的端口标识;
101.将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息;
102.通过所述目标出端口转发替换处理后的其他数据分片。
103.在一种可能的实现方式中,所述更新模块还用于:
104.将所述第二标识信息的状态更新为未使用;
105.在所述标识信息转发表中,删除对应存储的所述目标入端口的端口标识、所述第一标识信息、所述第二标识信息和所述目标出端口的端口标识。
106.在一种可能的实现方式中,所述获取模块,用于:
107.获取所述待转发数据块对应的需求带宽范围;
108.获取所述目标出端口的可分配带宽;
109.当所述目标出端口的可分配带宽在大于所述需求带宽范围中的需求带宽下限值时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息;
110.所述装置还包括分配模块,用于:
111.根据所述需求带宽范围和所述可分配带宽,对所述待转发数据块分配目标带宽;
112.所述转发模块,用于:
113.通过所述目标出端口以所述目标带宽转发替换处理后的首个数据分片;
114.通过所述目标出端口以所述目标带宽转发替换处理后的其他数据分片。
115.在一种可能的实现方式中,所述首个数据分片中还携带有所述待转发数据块对应的需求带宽范围,所述获取模块,用于:
116.获取所述首个数据分片中携带的所述待转发数据块对应的需求带宽范围。
117.在一种可能的实现方式中,所述分配模块,用于:
118.如果所述可分配带宽在所述需求带宽范围内,则将所述可分配带宽确定为对所述待转发数据块分配的目标带宽;
119.如果所述可分配带宽大于所述需求带宽范围中的需求带宽上限值,则将所述需求带宽上限值确定为对所述待转发数据块分配的目标带宽。
120.第四方面、一种数据传输的装置,其特征在于,所述装置包括:
121.分片模块,用于对待发送数据块进行分片,得到多个数据分片;
122.确定模块,用于基于所述待发送数据块的路由信息,确定所述待发送数据块对应的目标出端口;
123.获取模块,用于当所述目标出端口的可分配带宽满足待发送数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息。
124.添加模块,用于在包括首个数据分片的至少一个数据分片中添加所述路由信息,并在所述多个数据分片中分别添加第一标识信息;
125.发送模块,用于通过所述目标出端口发送多个添加所述第一标识信息后的数据分片。
126.在一种可能的实现方式中,,所述装置还包括更新模块,用于:
127.将所述第一标识信息的状态更新为已使用;
128.将所述第一标识信息和所述目标出端口的端口标识对应存储在包括有标识信息和出端口的端口标识的对应关系的标识信息转发表中。
129.在一种可能的实现方式中,所述更新模块还用于:
130.将所述第一标识信息的状态更新为未使用;
131.在所述标识信息转发表中,删除对应存储的所述第一标识信息和所述目标出端口的端口标识。
132.在一种可能的实现方式中,所述发送模块,还用于:
133.向控制设备发送的数据发送请求,其中,所述数据发送请求中携带有带宽需求带宽;
134.所述获取模块,用于:
135.当接收到所述控制设备基于所述数据发送请求中携带的带宽需求带宽返回的数据发送许可信息时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识
信息。
136.在一种可能的实现方式中,所述发送许可信息中携带有用于发送所述待发送数据块的目标带宽;
137.所述发送模块,用于:
138.通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
139.在一种可能的实现方式中,所述获取模块,用于:
140.获取所述待发送数据块对应的需求带宽范围;
141.获取所述目标出端口的可分配带宽;
142.当所述目标出端口的可分配带宽在大于所述需求带宽范围中的需求带宽下限值时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息;
143.所述装置还包括分配模块,用于:
144.根据所述需求带宽范围和所述可分配带宽,对所述待发送数据块分配目标带宽;
145.所述发送模块,用于:
146.通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
147.在一种可能的实现方式中,所述分配模块,用于:
148.如果所述可分配带宽在所述需求带宽范围内,则将所述可分配带宽确定为对所述待发送数据块分配的目标带宽;
149.如果所述可分配带宽大于所述需求带宽范围中的需求带宽上限值,则将所述需求带宽上限值确定为对所述待发送数据块分配的目标带宽。
150.第五方面、一种转发设备,其特征在于,所述转发设备包括接收器、处理器和发射器,其中:
151.所述接收器,用于接收待转发数据块的首个数据分片,其中,所述首个数据分片中携带有第一标识信息和所述待转发数据块的路由信息,所述待转发数据块的各数据分片中均携带有所述第一标识信息;
152.所述处理器,用于基于所述待转发数据块的路由信息,确定所述待转发数据块对应的目标出端口;当所述目标出端口的可分配带宽满足所述待转发数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息;将所述首个数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的首个数据分片;
153.所述发射器,用于当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的其他数据分片。
154.在一种可能的实现方式中,所述处理器,还用于:
155.将所述第二标识信息的状态更新为已使用;
156.将所述第一标识信息作为目标原标识信息,将所述第二标识信息作为目标更新标识信息;
157.将接收所述首个数据分片的入端口的端口标识、所述第一标识信息、所述第二标
识信息和所述目标出端口的端口标识对应存储在包括有入端口的端口标识、原标识信息、更新标识信息和出端口的端口标识的对应关系的标识信息转发表中。
158.在一种可能的实现方式中,所述发射器,用于:
159.当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,确定所述其他数据分片为所述待转数据的中间数据分片;
160.在所述标识信息转发表中,确定入端口的端口标识为所述目标入端口的端口标识、原标识信息为所述第一标识信息时,对应的更新标识信息为所述第二标识信息,对应的出端口的端口标识为所述目标出端口的端口标识;
161.将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息;
162.通过所述目标出端口转发替换处理后的其他数据分片。
163.在一种可能的实现方式中,所述发射器,用于:
164.当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,确定所述其他数据分片为所述待转发数据的最后一个数据分片;
165.在所述标识信息转发表中,确定原标识信息为所述第一标识信息时,对应的更新标识信息为所述第二标识信息,对应的出端口标识为所述目标出端口的端口标识;
166.将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息;
167.通过所述目标出端口转发替换处理后的其他数据分片。
168.在一种可能的实现方式中,所述处理器,还用于:
169.将所述第二标识信息的状态更新为未使用;
170.在所述标识信息转发表中,删除对应存储的所述目标入端口的端口标识、所述第一标识信息、所述第二标识信息和所述目标出端口的端口标识。
171.在一种可能的实现方式中,所述处理器,用于:
172.获取所述待转发数据块对应的需求带宽范围;
173.获取所述目标出端口的可分配带宽;
174.当所述目标出端口的可分配带宽在大于所述需求带宽范围中的需求带宽下限值时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息;
175.所述通过所述目标出端口转发替换处理后的首个数据分片之前,所述方法还包括:
176.根据所述需求带宽范围和所述可分配带宽,对所述待转发数据块分配目标带宽;
177.所述通过所述目标出端口转发替换处理后的首个数据分片,包括:
178.通过所述目标出端口以所述目标带宽转发替换处理后的首个数据分片;
179.所述通过所述目标出端口转发替换处理后的其他数据分片,包括:
180.通过所述目标出端口以所述目标带宽转发替换处理后的其他数据分片。
181.在一种可能的实现方式中,所述处理器,用于:
182.获取所述首个数据分片中携带的所述待转发数据块对应的需求带宽范围。
183.在一种可能的实现方式中,所述处理器,用于:
184.如果所述可分配带宽在所述需求带宽范围内,则将所述可分配带宽确定为对所述待转发数据块分配的目标带宽;
185.如果所述可分配带宽大于所述需求带宽范围中的需求带宽上限值,则将所述需求
带宽上限值确定为对所述待转发数据块分配的目标带宽。
186.第六方面、一种数据分片设备,其特征在于,所述数据分片设备包括处理器和发射器:
187.所述处理器,用于对待发送数据块进行分片,得到多个数据分片;基于所述待发送数据块的路由信息,确定所述待发送数据块对应的目标出端口;当所述目标出端口的可分配带宽满足待发送数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息;在包括首个数据分片的至少一个数据分片中添加所述路由信息,并在所述多个数据分片中分别添加第一标识信息;
188.所述发射器,用于通过所述目标出端口发送多个添加所述第一标识信息后的数据分片。
189.在一种可能的实现方式中,所述当所述目标出端口的可分配带宽满足所述待发送数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息之后,所述方法还包括:
190.将所述第一标识信息的状态更新为已使用;
191.将所述第一标识信息和所述目标出端口的端口标识对应存储在包括有标识信息和出端口的端口标识的对应关系的标识信息转发表中。
192.在一种可能的实现方式中,所述处理器,还用于:
193.将所述第一标识信息的状态更新为未使用;
194.在所述标识信息转发表中,删除对应存储的所述第一标识信息和所述目标出端口的端口标识。
195.在一种可能的实现方式中,所述当发射器,还用于:
196.向控制设备发送的数据发送请求,其中,所述数据发送请求中携带有需求带宽范围;
197.所述处理器,用于:
198.当接收到所述控制设备基于所述数据发送请求中携带的带宽需求带宽返回的数据发送许可信息时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息。
199.在一种可能的实现方式中,所述发送许可信息中携带有用于发送所述待发送数据块的目标带宽;
200.所述发射器,用于:
201.通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
202.在一种可能的实现方式中,所述处理器,用于:
203.获取所述待发送数据块对应的需求带宽范围;
204.获取所述目标出端口的可分配带宽;
205.当所述目标出端口的可分配带宽在大于所述需求带宽范围中的需求带宽下限值时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息;
206.所述通过所述目标出端口发送多个添加所述第一标识信息后的数据分片之前,所述方法还包括:
207.根据所述需求带宽范围和所述可分配带宽,对所述待发送数据块分配目标带宽;
208.所述通过所述目标出端口发送多个添加所述第一标识信息后的数据分片,包括:
209.通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
210.在一种可能的实现方式中,所述处理器,用于:
211.如果所述可分配带宽在所述需求带宽范围内,则将所述可分配带宽确定为对所述待发送数据块分配的目标带宽;
212.如果所述可分配带宽大于所述需求带宽范围中的需求带宽上限值,则将所述需求带宽上限值确定为对所述待发送数据块分配的目标带宽。
213.第七方面、提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述计算机可读存储介质在转发设备上运行时,使得所述转发设备执行如上第一方面所述的数据传输的方法。
214.第八方面、提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述计算机可读存储介质在数据分片设备上运行时,使得所述数据分片设备执行如上第二方面所述的数据传输的方法。
215.第九方面,提供了一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在转发设备上运行时,使得所述转发设备执行如上第一方面所述的数据传输的方法。
216.第十方面,提供了一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在数据分片设备上运行时,使得所述数据分片设备执行如上第二方面所述的数据传输的方法。
217.本技术实施例所示的方案,以数据分片的形式对待转发数据块进行转发,这样,单个数据分片的数据量较小,对转发设备的缓存要求也就相对较小,且对相邻两转发设备的出端口速率没有过多约束,在网络中可以普遍应用。此外,在接收到待转发数据块的首个数据分片后,先判断目标出端口的可分配带宽是否满足该待转发数据块的带宽需求,只有满足带宽需求的情况下,才会对其分配第二标识信息,并进行转发,而该待转发数据块的其他数据分片,则可以无需再次进行判断直接分配第二标识信息进行转发。这样,转发设备可以通过带宽限制,在转发时有效的限制同时转发的不同待转发数据块的数量,使得属于同一待转发数据块的全部数据分片可以以所需带宽被尽可能快的转发到目的设备。
附图说明
218.图1是本技术实施例提供的一种实施场景示意图;
219.图2是本技术实施例提供的一种数据传输的方法流程图;
220.图3是本技术实施例提供的一种网络层结构示意图;
221.图4是本技术实施例提供的一种网络层结构示意图;
222.图5是本技术实施例提供的一种tag码块的示意图;
223.图6是本技术实施例提供的一种数据分片头码块的示意图;
224.图7是本技术实施例提供的一种数据传输的方法流程图;
225.图8是本技术实施例提供的一种转发设备的结构示意图;
226.图9是本技术实施例提供的一种数据分片设备的结构示意图;
227.图10是本技术实施例提供的一种数据传输的装置的结构示意图;
228.图11是本技术实施例提供的一种数据传输的装置的结构示意图。
具体实施方式
229.本技术实施例提供了一种数据传输的方法,该方法可以应用在如图1所示的实施场景中。在该实施场景中可以包括有终端、边缘路由器(provider edge device,pe)、运营商路由器(provider device,p)以及服务器,其中,终端或者与终端直连的pe可以作为数据分片设备,pe和p可以作为转发设备。数据分片设备可以对待发送数据进行分片,得到待转发数据块的数据分片。然后,将数据分片发送至转发设备,再由转发设备将数据分片转发至服务器,最后,由服务器对数据分片进行重组。
230.转发设备可以包括处理器810、发射器820、接收器830,接收器830和发射器820可以分别与处理器810连接,如图8所示。接收器830可以用于接收待转发数据块的首个数据分片和其余数据分片,发射器820和接收器830可以是网卡,发射器820可以用于发送替换处理后的数据分片。处理器810可以是转发设备的控制中心,利用各种接口和线路连接整个转发设备的各个部分,如接收器830和发射器820等。在本技术中,处理器810可以是cpu(central processing unit,中央处理器),可以用于确定目标出端口,获取标识信息,替换数据分片中的标识信息等及相关处理。可选的,处理器810可以包括一个或多个处理单元。处理器810还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。转发设备还可以包括存储器840,存储器840可用于存储软件程序以及模块,处理器810通过读取存储在存储器的软件代码以及模块,从而执行转发设备的各种功能。
231.数据分片设备可以包括处理器910、发射器920,还可以包括接收器930,接收器930和发射器920可以分别与处理器910连接,如图9所示。发射器920和接收器930可以是网卡,发射器920可以用于发送待发送数据块的数据分片。处理器910可以是数据分片设备的控制中心,利用各种接口和线路连接整个转发设备的各个部分,如接收器930和发射器920等。在本技术中,处理器910可以是cpu(central processing unit,中央处理器),可以用于对待发送数据块进行分片,确定目标出端口,获取标识信息等及相关处理。可选的,处理器910可以包括一个或多个处理单元。处理器910还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。转发设备还可以包括存储器940,存储器940可用于存储软件程序以及模块,处理器910通过读取存储在存储器的软件代码以及模块,从而执行数据分片设备的各种功能。
232.参见图2是本技术实施例提供的一种数据传输的方法,该方法可以由数据分片设备实现,该方法可以包括如下处理流程:
233.步骤201、对待发送数据块进行分片,得到多个数据分片。
234.其中,待发送数据块可以对应一个应用处理单元,例如,可以为一张照片,即在目的设备只有接收到一个应用处理单元的所有数据分片,才能进行相应处理。
235.在实施中,对待发送数据块进行分片可以由数据分片设备中的不同层的协议实现,下面对其中几种可能的实现方式进行说明。
236.方式一、在互联网突发交换(ethernet burst switch,ebs)层实现分片。
237.该ebs层为本技术实施例中定义的网络层,可以用于实现数据分片,当然,对于该ebs层还可以有其他名称,本技术实施例对此不作限定。
238.在该方式一中的一种可能的情况下,ebs层可以设置在互联网互联协议(internet protocol,ip)层和媒体介入控制(media access control,mac)层之间,即如图3所示。
239.在此情况下,待发送数据块可以经过ip层封装后,再由ebs层进行分片。ebs层可以按照预设分片数据量对待发送数据块进行分片,例如,预设数据量可以为1.5kb。
240.在该方式一中的另一种可能的情况下,可以由ebs层替换mac层,即如图4所示。
241.同样的,在此情况下,待发送数据块可以经过ip层封装后,再由ebs层进行分片。ebs层可以按照预设分片数据量对待发送数据块进行分片。
242.方式二、在ip层实现分片。
243.在此情况下,待发送数据块可以由ip层按照预设分片数据量对待发送数据块进行分片。
244.步骤202、基于待发送数据块的路由信息,确定待发送数据块对应的目标出端口。
245.在实施中,数据分片设备可以根据待发送数据块的路由信息,确定出用于发送该待发送数据块的目标出端口。
246.步骤203、当目标出端口的可分配带宽满足待发送数据块的带宽条件时,在目标出端口对应的状态为未使用的标识信息中,获取第一标识信息。
247.在实施中,数据分片设备的每个端口均可以配置有多个标识信息。对于标识信息的配置可以由技术人员根据实际需求进行配置。例如,数据分片设备为pe,pe的端口的带宽为40gbps,而终端的端口的带宽有10gbps和20gbps,那么,该pe的端口可以配置4个标识信息。又例如,数据分片设备为终端,终端的端口的带宽为10gb,而该终端的业务对时延的要求很高,对数据转发是带宽需求为10gbps,则可以仅配置1个标识信息。
248.在目标出端口的可分配带宽满足待发送数据块的带宽条件时,则可以在目标出端口对应的状态为未使用的标识信息中,获取第一标识信息分配给该待发送数据块。
249.判断目标出端口的可分配带宽是否满足待发送数据块的带宽条件,可以有多种方法,下面对其几种方法进行说明:
250.方法一、
251.数据分片设备获取待发送数据块对应的需求带宽范围,获取目标出端口的可分配带宽。当该目标出端口的可分配带宽在大于该需求带宽范围中的需求带宽下限值时,则可以在目标出端口对应的状态为未使用的标识信息中,获取第一标识信息。
252.此处需要说明的是,如果数据分片设备为终端,则该待发送数据块对应的需求带宽范围可以为技术人员预先配置的。如果数据分片设备为pe,则该待发送数据块对应的需求带宽范围可以为技术人员预先配置的,也可以为终端在向pe发送待发送数据块时,携带在该待发送数据块中。而目标出端口的可分配带宽可以为该目标出端口的总带宽与已分配带宽的差值。
253.方法二、
254.上述数据分片设备为终端,该数据分片设备可以先向控制设备发送向数据发送请求,其中,该数据发送请求中可以携带有需求带宽范围,还可以携带有源地址和目的地址,其中,源地址可以为终端的ip地址,目的地址可以为服务器的目的地址。该控制设备可以为
上述图1中所示的服务器,也可以为该服务器上游的转发设备。该控制设备可以基于数据发送请求中携带的源地址和目的地址,以及全局的网络拓扑确定出终端到服务器之间的路径信息。该路径信息为终端和服务器之间所经过的目标转发设备的地址,以及各目标转发设备用于转发该源设备的数据时所使用的第一出端口。然后,可以获取该终端的出端口的可分配带宽,再根据上述方法一,判断终端的出端口是否满足待发送数据块的带宽条件,如果满足,则可以向数据分片设备发送数据发送许可消息。当数据分片设备接收到该数据发送许可消息后,则可以获取第一标识信息。
255.在该方法二的一种可能的实现方式中,控制设备可以获取终端的出端口的可分配带宽以及每个第一出端口的可分配带宽。并根据上述方法一,判断终端的出端口是否满足待发送数据块的带宽条件,以及每个第一出端口是否满足,如果满足待发送数据块的带宽条件。如果均满足,则可以向数据分片设备发送数据发送许可消息。当数据分片设备接收到该数据发送许可消息后,则可以获取第一标识信息。
256.在数据分片设备中可以存储有该数据分片设备的各端口对应的标识信息状态表,如下表1所示为目标出端口对应的标识信息状态表。
257.表1
[0258][0259]
此外,在获取第一标识信息后,可以在该目标出端口的标识信息状态表中,将该第一标识信息的状态更新为已使用。
[0260]
在数据分片设备为pe的情况下,在该数据分片设备中还可以有标识信息转发表,在获取到第一标识信息后,可以将接收终端发送的待发送数据块的目标入端口的端口标识、第一标识信息和目标出端口的端口标识对应存储在标识信息转发表。该标识信息转发表可以如下表2所示。
[0261]
表2
[0262]
入端口的端口标识标识信息出端口的端口标识入端口11出端口1入端口22出端口2入端口31出端口3
………………
[0263]
对应于上述方法一,在获取第一标识信息后,可以对该待发送数据块分配带宽,分配方法可以如下:
[0264]
如果该可分配带宽在该需求带宽范围内,则可以将该可分配带宽确定为对待发送数据块分配的目标带宽。如果该可分配带宽大于该需求带宽范围中的需求带宽上限值,则可以将该需求带宽上限值确定为对待发送数据块分配的目标带宽。
[0265]
对应于上述方法二,控制设备可以基于上述分配方法,分别计算出终端以及每个
第一出端口对待发送数据的分配带宽,并取其中的最小值,作为目标带宽,携带在数据发送许可消息中返回终端。
[0266]
此处还需说明的是,数据分片设备可以将每个端口的已分配带宽进行记录,以便后续基于此计算可分配带宽。当然,在确定出对待发送数据块分配的目标带宽后,即可计算出该目标出端口的可分配带宽进行存储,以便再对下一个待发送数据块分配带宽时,可以直接获取可分配带宽。
[0267]
此处还需说的是,上述步骤201还可以在该步骤203之后执行,即当目标出端口的可分配带宽满足待发送数据块的带宽条件时,在目标出端口对应的状态为未使用的标识信息中,获取第一标识信息之后,再执行上述步骤201对待发送数据进行分片。
[0268]
步骤204、在包括首个数据分片的至少一个数据分片中添加上述路由信息,并在上述多个数据分片中分别添加第一标识信息。
[0269]
在实施中,对应于上述步骤201中的方式一,此处,可以在首个数据分片前添加路由信息,并在每个数据分片前添加第一标识信息。
[0270]
在一种可能的实现方式中,在首个数据分片前添加的路由信息可以携带在如图5所示的码块中,并添加到首个数据分片前。该用于携带路由信息的码块可以称为标签(tag)码块,当然,也可以将其称为名称,本技术实施例对此不作限定。
[0271]
如图5所示的tag码块采用64b/66b编码方式,属于64b/66b的控制码块类型中的ordered set,类型字段为0x4b,o码为0x4。其它bit位的定义如下:
[0272]
[62:65]:用于携带循环冗余校验(cyclic redundancy check,crc)码。
[0273]
[61:59]:值为0x0,表示码块类型为用于携带路由信息的tag码块。
[0274]
[33:10]和[57:38]共44bit,携带路由信息。
[0275]
在每个数据分片前添加的第一标识信息可以携带在如图6所示的码块中,并添加到每个数据分片前。该用于携带标识信息的码块可以称为数据分片头,
[0276]
如图6所示,该码块采用64b/66b编码方式,属于64b/66b的控制码块类型,类型字段为0x4b,o码为0x4。其它bit位的定义如下:
[0277]
[62:65]:用于携带循环冗余校验(cyclic redundancy check,crc)码。
[0278]
[61:59]:值为0x1,表示该码块类型为数据分片头。
[0279]
[14:25]:用于携带标识信息。
[0280]
[52:57]:用于携带数据分片的序列号fs。该序列号可以用于检验数据分片连续性。
[0281]
[58]:用于携带数据分片类型ft。ft为0,表示该数据分片为待发送数据的中间数据分片,ft为1,表示该数据分片为待发送数据的最后一个数据分片。
[0282]
此处需要说明的,以上所示出的码块格式以及码块中各字段的定义仅为一种可能的示例,当然,还可以采用其他码块来携带路由信息以及标识信息,本技术实施例对此不做限定。
[0283]
对应于上述步骤201的方式二,在ip层对待发送数据块进行分片后,可以对每个数据分片进行ip封装。封装后,每个数据分片的ip头都包括有路由信息、标识信息等。如下表3所示,为对ip头中部分字段的定义进行说明。
[0284]
步骤205、通过目标出端口发送多个添加所述第一标识信息后的数据分片。
[0285]
在实施中,在发送数据分片时,可以根据数据分片中的标识信息,查询上述标识信息转发表,以确定目标出端口。并通过目标出端口以上述目标带宽发送待发送数据块的数据分片。
[0286]
在最后一个数据分片发出后,可以将上述目标出端口对应的标识信息状态表中的第一标识信息更新未使用,以便分配给其他待发送数据块使用。同时,还可以将上述标识信息转发表中对应存储的目标入端口的标识信息、第一标识信息和目标出端口的标识信息删除。
[0287]
本技术实施例所提供的方案,将待发送数据块以数据分片形式进行转发,单个数据分片的数据量较小,对转发设备的缓存要求也就相对较小,且在转发时对相邻两转发设备的出端口速率没有过多约束,在网络中可以普遍应用。此外,在发送同一待发送数据块的数据分片时,通过带宽限制,控制每个出端口可同时发送的待发送数据块的数量,使得每个待发送数据块可以分得所需带宽,以使同一待发送数据块的全部数据分片可以在尽量短的时间内发出。
[0288]
表3
[0289][0290]
参见图7是本技术实施例提供的又一种数据传输的方法,该方法可以由转发设备实现,转发设备在接收到根据上述图2所示的数据传输的方法所发送的数据分片后,可以有如下处理流程:
[0291]
步骤701、接收待转发数据块的首个数据分片。
[0292]
其中,该首个数据分片中携带有第一标识信息和待转发数据块的路由信息,待转发数据块的各数据分片中均携带有第一标识信息。路由信息可以是ip地址、多协议标签交换(multi-protocol label switching,mpls)标签、分段路由(segment routing,sr)标签等。
[0293]
步骤702、基于待转发数据块的路由信息,确定待转发数据块对应的目标出端口。
[0294]
在实施中,转发设备在接收到数据分片后,可以根据数据分片中携带的数据分片类型信息,确定该数据分片为待转发数据块的首个数据分片、中间数据分片还是最后一个
数据分片。如果接收到的数据分片为待转发数据块的首个数据分片,则可以获取其携带的路由信息。然后,通过查询全局路由表,确定出用于转发该数据分片的目标出端口。
[0295]
步骤703、当所述目标出端口的可分配带宽满足所述待转发数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息。
[0296]
在实施中,转发设备的每个端口均可以配置有多个标识信息。对于标识信息的配置可以由技术人员根据实际需求进行配置。例如,转发设备的端口的带宽为40gb,而终端的端口的带宽有10gb和20gb,那么,该转发设备的端口可以配置4个标识信息。又例如,如果终端的端口的带宽是10gbps和20gbps,但数据转发需求带宽是5gbps,也可以在该40gbps的端口配置8个标识信息。
[0297]
在目标出端口的可分配带宽满足待发送数据块的带宽条件时,则可以目标出端口对应的状态为未使用的标识信息中,获取第二标识信息。
[0298]
判断目标出端口的可分配带宽是否满足待转发数据块的带宽条件,可以有如下方法:
[0299]
对应于上述图2所示实施例中步骤203的方法一,此处,在转发设备中可以按照如下方法判断目标出端口的可分配带宽是否满足待转发数据块的带宽条件:
[0300]
获取待转发数据块对应的需求带宽范围,获取目标出端口的可分配带宽。当该目标出端口的可分配带宽在大于该需求带宽范围中的需求带宽下限值时,则可以在目标出端口对应的状态为未使用的标识信息中,获取第二标识信息。
[0301]
其中,带宽需求范围可以携带在待转发数据块的首个数据分中,还可以由技术人员配置在转发设备中。
[0302]
对应于上述图2所示实施例中步骤203的方法二,此处,转发设备中可以配置为只要接收到待转发数据块的首个数据分片,即可以确定该目标出端口的可分配带宽满足待转发数据块的带宽条件。则可以进一步获取第二标识信息。
[0303]
在转发设备中可以存储有该转发设备的各端口分别对应的标识信息状态表,如上表1所示。在获取到第二标识信息后,可以将该目标出端口的标识信息状态表中的第二标识信息的状态更新为已使用。
[0304]
在一种可能的实现方式中,在确定出第二标识信息后,可以将第一标识信息作为目标原标识信息,将第二标识信息作为目标更新标识信息。并将接收该首个数据分片的入端口的端口标识、第一标识信息、第二标识信息和目标出端口的端口标识对应存储在包括有入端口的端口标识、原标识信息、更新标识信息和出端口的端口标识的对应关系的标识信息转发表中,该标识信息转发表可以如下表4所示。
[0305]
表4
[0306]
入端口的端口标识原标识信息更新标识信息出端口的端口标识入端口112出端口1入端口221出端口2入端口331出端口3
……………………
[0307]
在获取第二标识信息后,可以对该待发送数据块分配带宽,分配方法可以如下:
[0308]
如果该可分配带宽在该需求带宽范围内,则可以将该可分配带宽确定为对待发送
数据块分配的目标带宽。如果该可分配带宽大于该需求带宽范围中的需求带宽上限值,则可以将该需求带宽上限值确定为对待发送数据块分配的目标带宽。
[0309]
最后,可以通过目标出端口以该目标带宽转发该待转发数据块的首个数据分片。
[0310]
步骤704、将所述首个数据分片中携带的第一标识信息替换为所述第二标识信息,通过目标出端口转发替换处理后的首个数据分片。
[0311]
步骤705、当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的其他数据分片。
[0312]
在实施中,接收到数据分片后,通过数据分片中携带的数据分片类型信息确定数据分片为中间数据分片时,可以根据接收到该数据分片的目标入端口的端口标识和携带的第一标识,查询上述标识信息转发表,确定出对应的更新标识信息为第二标识信息,出端口的端口标识为目标出端口的端口标识。
[0313]
如果该数据分片为待发送数据块的中间数据分片,则可以直接将该数据分片中携带的第一标识信息替换为第二标识信息,并通过目标出端口以该目标带宽转发该数据分片。
[0314]
如果该数据分片为待发送数据块的最后一个数据分片,则可以在将该数据分片中携带的第一标识信息替换为第二标识信息,并通过目标出端口以该目标带宽转发该数据分片之后,在目标端口对应的标识信息状态表中,将第二标识信息的状态更新为未使用。并在目标端口对应的标识信息转发表中,删除对应存储的目标入端口的端口标识、第一标识信息、第二标识信息和目标出端口的端口标识。
[0315]
在一种可能的实现方式中,在接收到数据分片后,可以先检测数据分片的连续性,如果当前接收到的数据分片是连续的,则再继续进行标识信息替换、以及转发处理。否则,将该数据分片以及后续接收到的该待转发数据块的其他数据分片舍弃。同时,还可以生成特殊尾分片进行转发。
[0316]
其中,检测数据分片的连续性可以根据数据分片中携带的序列号,或者根据片偏移进行检测。
[0317]
在一种可能的实现方式中,在每个数据分片前均可以携带有路由信息,那么,转发设备在接收到数据分片后,可以将其携带的标识信息进行替换后,根据携带的路由信息进行转发。
[0318]
在服务器中,当接收到携带的数据分片类型信息为最后一个数据分片的类型信息时,可以获取该数据分片的标识信息,以及确定接收该数据分片的入端口的端口标识。获取与该数据分片通过同一端口接收,并且携带有相同标识信息的数据分片,并按照携带的序列号或者片偏移进行组合。
[0319]
当然,在每个数据分片均携带有路由信息的情况下,还可以获取与该数据分片具有相同路由信息的数据分片,并进行组合。
[0320]
本技术实施例所示的方案,以数据分片的形式对待转发数据块进行转发,这样,单个数据分片的数据量较小,对转发设备的缓存要求也就相对较小,且对相邻两转发设备的出端口速率没有过多约束,在网络中可以普遍应用。此外,在接收到待转发数据块的首个数据分片后,先判断目标出端口的可分配带宽是否满足该待转发数据块的带宽需求,只有满
足带宽需求的情况下,才会对其分配第二标识信息,并进行转发,而该待转发数据块的其他数据分片,则可以无需再次进行判断直接分配第二标识信息进行转发。这样,转发设备可以通过带宽限制,在转发时有效的限制同时转发的不同待转发数据块的数量,使得属于同一待转发数据块的全部数据分片可以以所需带宽被尽可能快的转发到目的设备。
[0321]
基于相同的技术构思,本技术实施例还提供了一种数据传输的装置,如图10所示,该装置包括:
[0322]
接收模块1010,用于接收待转发数据块的首个数据分片,其中,所述首个数据分片中携带有第一标识信息和所述待转发数据块的路由信息,所述待转发数据块的各数据分片中均携带有所述第一标识信息。具体可以实现上述步骤201提到的接收功能,以及其他隐含步骤。
[0323]
确定模块1020,用于基于所述待转发数据块的路由信息,确定所述待转发数据块对应的目标出端口。具体可以实现上述步骤202提到的确定功能,以及其他隐含步骤。
[0324]
获取模块1030,用于当所述目标出端口的可分配带宽满足所述待转发数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息。具体可以实现上述步骤203提到的获取功能,以及其他隐含步骤。
[0325]
转发模块1040,用于将所述首个数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的首个数据分片;当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息,通过所述目标出端口转发替换处理后的其他数据分片。具体可以实现上述步骤204和205提到的发送功能,以及其他隐含步骤。
[0326]
在一种可能的实现方式中,所述装置还包括:
[0327]
更新模块,用于将所述第二标识信息的状态更新为已使用;将所述第一标识信息作为目标原标识信息,将所述第二标识信息作为目标更新标识信息;将接收所述首个数据分片的入端口的端口标识、所述第一标识信息、所述第二标识信息和所述目标出端口的端口标识对应存储在包括有入端口的端口标识、原标识信息、更新标识信息和出端口的端口标识的对应关系的标识信息转发表中。
[0328]
在一种可能的实现方式中,所述转发模块1040,用于:
[0329]
当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,确定所述其他数据分片为所述待转数据的中间数据分片;
[0330]
在所述标识信息转发表中,确定入端口的端口标识为所述目标入端口的端口标识、原标识信息为所述第一标识信息时,对应的更新标识信息为所述第二标识信息,对应的出端口的端口标识为所述目标出端口的端口标识;
[0331]
将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息;
[0332]
通过所述目标出端口转发替换处理后的其他数据分片。
[0333]
在一种可能的实现方式中,所述转发模块1040,用于:
[0334]
当接收到携带有所述第一标识信息的所述待转发数据块的其它数据分片时,确定所述其他数据分片为所述待转发数据的最后一个数据分片;
[0335]
在所述标识信息转发表中,确定原标识信息为所述第一标识信息时,对应的更新标识信息为所述第二标识信息,对应的出端口标识为所述目标出端口的端口标识;
[0336]
将所述其他数据分片中携带的第一标识信息替换为所述第二标识信息;
[0337]
通过所述目标出端口转发替换处理后的其他数据分片。
[0338]
在一种可能的实现方式中,所述更新模块还用于:
[0339]
将所述第二标识信息的状态更新为未使用;
[0340]
在所述标识信息转发表中,删除对应存储的所述目标入端口的端口标识、所述第一标识信息、所述第二标识信息和所述目标出端口的端口标识。
[0341]
在一种可能的实现方式中,所述获取模块1030,用于:
[0342]
获取所述待转发数据块对应的需求带宽范围;
[0343]
获取所述目标出端口的可分配带宽;
[0344]
当所述目标出端口的可分配带宽在大于所述需求带宽范围中的需求带宽下限值时,在所述目标出端口对应的状态为未使用的标识信息中,获取第二标识信息;
[0345]
所述装置还包括分配模块,用于:
[0346]
根据所述需求带宽范围和所述可分配带宽,对所述待转发数据块分配目标带宽;
[0347]
所述转发模块1040,用于:
[0348]
通过所述目标出端口以所述目标带宽转发替换处理后的首个数据分片;
[0349]
通过所述目标出端口以所述目标带宽转发替换处理后的其他数据分片。
[0350]
在一种可能的实现方式中,所述首个数据分片中还携带有所述待转发数据块对应的需求带宽范围,所述获取模块1030,用于:
[0351]
获取所述首个数据分片中携带的所述待转发数据块对应的需求带宽范围。
[0352]
在一种可能的实现方式中,所述分配模块,用于:
[0353]
如果所述可分配带宽在所述需求带宽范围内,则将所述可分配带宽确定为对所述待转发数据块分配的目标带宽;
[0354]
如果所述可分配带宽大于所述需求带宽范围中的需求带宽上限值,则将所述需求带宽上限值确定为对所述待转发数据块分配的目标带宽。
[0355]
需要说明的是,上述接收模块1010、确定模块1020、获取模块1030和发送模块1040可以由处理器实现,或者由处理器配合存储器、接收器、以及发射器来实现。
[0356]
需要说明的是:上述实施例提供的数据传输的装置在进行数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将转发设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输的装置与数据传输的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0357]
基于相同的技术构思,本技术实施例还提供了一种数据传输的装置,如图11所示,该装置包括:
[0358]
分片模块1110,用于对待发送数据块进行分片,得到多个数据分片;
[0359]
确定模块1120,用于基于所述待发送数据块的路由信息,确定所述待发送数据块对应的目标出端口;
[0360]
获取模块1130,用于当所述目标出端口的可分配带宽满足待发送数据块的带宽条件时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息。
[0361]
添加模块1140,用于在包括首个数据分片的至少一个数据分片中添加所述路由信
息,并在所述多个数据分片中分别添加第一标识信息;
[0362]
发送模块1150,用于通过所述目标出端口发送多个添加所述第一标识信息后的数据分片。
[0363]
在一种可能的实现方式中,,所述装置还包括更新模块,用于:
[0364]
将所述第一标识信息的状态更新为已使用;
[0365]
将所述第一标识信息和所述目标出端口的端口标识对应存储在包括有标识信息和出端口的端口标识的对应关系的标识信息转发表中。
[0366]
在一种可能的实现方式中,所述更新模块还用于:
[0367]
将所述第一标识信息的状态更新为未使用;
[0368]
在所述标识信息转发表中,删除对应存储的所述第一标识信息和所述目标出端口的端口标识。
[0369]
在一种可能的实现方式中,所述发送模块1150,还用于:
[0370]
向控制设备发送的数据发送请求,其中,所述数据发送请求中携带有带宽需求带宽;
[0371]
所述获取模块1130,用于:
[0372]
当接收到所述控制设备基于所述数据发送请求中携带的带宽需求带宽返回的数据发送许可信息时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息。
[0373]
在一种可能的实现方式中,所述发送许可信息中携带有用于发送所述待发送数据块的目标带宽;
[0374]
所述发送模块1150,用于:
[0375]
通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
[0376]
在一种可能的实现方式中,所述获取模块1130,用于:
[0377]
获取所述待发送数据块对应的需求带宽范围;
[0378]
获取所述目标出端口的可分配带宽;
[0379]
当所述目标出端口的可分配带宽在大于所述需求带宽范围中的需求带宽下限值时,在所述目标出端口对应的状态为未使用的标识信息中,获取第一标识信息;
[0380]
所述装置还包括分配模块,用于:
[0381]
根据所述需求带宽范围和所述可分配带宽,对所述待发送数据块分配目标带宽;
[0382]
所述发送模块1150,用于:
[0383]
通过所述目标出端口以所述目标带宽发送多个添加所述第一标识信息后的数据分片。
[0384]
在一种可能的实现方式中,所述分配模块,用于:
[0385]
如果所述可分配带宽在所述需求带宽范围内,则将所述可分配带宽确定为对所述待发送数据块分配的目标带宽;
[0386]
如果所述可分配带宽大于所述需求带宽范围中的需求带宽上限值,则将所述需求带宽上限值确定为对所述待发送数据块分配的目标带宽。
[0387]
需要说明的是,上述分片模块1110、确定模块1120、获取模块1130、添加模块1140
和发送模块1150可以由处理器实现,或者由处理器配合存储器和发射器来实现。
[0388]
需要说明的是:上述实施例提供的数据传输的装置在进行数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据分片设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输的装置与数据传输的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0389]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在设备上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是设备能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(digital video disk,dvd)等),或者半导体介质(如固态硬盘等)。
[0390]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0391]
以上所述仅为本技术一个实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜