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

文档序号:12630711阅读:276来源:国知局
一种数据传输的方法及装置与流程

本发明涉及网络数据传输的技术领域,尤其是一种数据传输的方法及装置。



背景技术:

随着多媒体技术的快速发展,对多媒体数据传输的质量和速率的要求也越来越高,尤其对于在无线多跳网络中传输多媒体数据,一方面,由于多媒体数据的数据量大,占用资源较多,导致数据传输的速率较慢;另一方面,由于无线多跳网络的结构不稳定,传输路径经常会发生变化,并且数据在无线信号的传输过程中极易受干扰,丢包率高,使得接收端的数据重组成功率低,导致数据传输的准确率较低,这些都对多媒体数据在无线多跳网络中的传输产生了不良影响。

目前,使用基于AODV(Ad hoc On-demand Distance Vector Routing,无线自组网按需平面距离矢量路由)协议扩展的AOMDV(Ad Hoc On-demand Multipath Distance Vector Routing,无线自组网按需多径平面距离矢量路由)协议来实现数据在无线多跳网络中的多路径并行传输,以提高多媒体数据的传输速率;其中,多路径包括一条主用路径和至少一条备用路径。但是,多路径的并行传输会使接收端收到的数据顺序混乱,导致接收端出现缓存阻塞,影响数据解码的效率,因此可以使用LT码(Luby Transform Codes,卢比变换码)来解决数据乱序到达接收端的问题,提高传输效率。

具体地,在AOMDV协议的基础上使用LT码实现数据传输的过程包括以下步骤:

1、当源节点需要发送数据时,从由源节点到目的节点的所有路径中随机选取一条路径作为主用路径,并且从由源节点到目的节点的所有路径中除主用路径以外的其他路径中随机选取预设个数的路径作为备用路径;

2、由度分布函数生成度数,从源节点待发送的数据中选取度数数量的源数据分组进行LT码的编码处理,并将编码处理生成的编码分组通过主用路径和备用路径传输至目的节点。

但是,当数据以多路径并行的方式进行传输时,如果选择的主用路径不合适,比如选择了一条负载量较大的路径作为主用路径,就会严重影响数据的传输速度。另外,使用LT码根据度分布函数进行编码处理时,如果度分布函数生成的度数较高,虽然能够覆盖较多的源数据分组,但会增加解码处理的工作量;反之,如果度分布函数生成的度数较低,虽然解码处理的工作量较小,但由于编码处理覆盖的源数据分组较少,导致接收端恢复数据的成功率较低,影响传输质量。因此,选择合适的主用路径和度分布函数是实现数据高效传输的关键。



技术实现要素:

本发明实施例的目的在于提供一种数据传输的方法及装置,实现数据在无线多跳网络中的高效传输。

为达到上述目的,本发明实施例公开了一种数据传输的方法,所述方法包括:当源节点需要发送数据时,根据由所述源节点到目的节点的所有路径分别对应的负载量,生成所述所有路径分别对应的路由度量值;根据所述路由度量值,将由所述源节点到所述目的节点的所有路径中负载量最小的路径确定为由所述源节点到所述目的节点的主用路径;以及将由所述源节点到所述目的节点的所有路径中除所述主用路径以外的其他路径确定为由所述源节点到所述目的节点的备用路径;对所述源节点需要发送的数据进行分组,生成待发送的源数据分组;判断所述源节点已发送的编码分组的数量是否达到预置阈值;如果否,则由预置的鲁棒孤子分布度分布函数生成第一度数,根据所述第一度数对所述待发送的源数据分组进行LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;如果是,则由所述预置的鲁棒孤子分布度分布函数生成第一度数,并通过度调整函数增加度数不为1的编码分组的数量,生成第二度数;根据所述第二度数对所述待发送的源数据分组进行所述LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;判断所述源节点需要发送的数据是否全部发送完毕,如果否,则返回所述判断所述源节点已发送的编码分组的数量是否达到预置阈值的步骤。

优选地,所述负载量包括所述路径分别对应的节点缓存占用率QB和传输时延QT;所述根据由所述源节点到目的节点的所有路径分别对应的负载量,生成所述所有路径分别对应的路由度量值的步骤,为采用如下公式计算获得:

Q=QB×QT

其中,Q为所述所有路径分别对应的路由度量值,QB为所述所有路径分别对应的平均缓存占用率,QT为所述所有路径分别对应的平均分组传输时延;路由度量值越小,所述选择系数对应路径的负载量越小。

优选地,所述根据所述路由度量值,将由所述源节点到所述目的节点的所有路径中负载量最小的路径确定为由所述源节点到所述目的节点的主用路径的步骤,包括:将所述所有路径分别对应的路由度量值从大到小进行排序,将最小路由度量值对应的路径确定为由所述源节点到所述目的节点的主用路径。

优选地,所述判断所述源节点已发送的编码分组的数量是否达到预置阈值的步骤,包括:判断所述源节点已发送的编码分组的数量是否达到所述源节点需要发送的数据总量的85%。

优选地,所述通过度调整函数增加度数不为1的编码分组的数量,生成第二度数的步骤,包括:

根据公式:生成第二度数;

其中,D为度调整函数,d为所述第一度数,m为预置的度的增量系数,rp为0到1之间的随机数,r为预置的比例系数,k为所述源数据分组的预置数量。

本发明实施例还公开了一种数据传输的装置,所述装置包括:第一生成单元,用于当源节点需要发送数据时,根据由所述源节点到目的节点的所有路径分别对应的负载量,生成所述所有路径分别对应的路由度量值;第一确定单元,用于根据所述路由度量值,将由所述源节点到所述目的节点的所有路径中负载量最小的路径确定为由所述源节点到所述目的节点的主用路径;以及第二确定单元,用于将由所述源节点到所述目的节点的所有路径中除所述主用路径以外的其他路径确定为由所述源节点到所述目的节点的备用路径;第二生成单元,用于对所述源节点需要发送的数据进行分组,生成待发送的源数据分组;第一判断单元,用于判断所述源节点已发送的编码分组的数量是否达到预置阈值;第一处理单元,用于在所述第一判断单元的判断结果为否时,由预置的鲁棒孤子分布度分布函数生成第一度数,根据所述第一度数对所述待发送的源数据分组进行LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;第二处理单元,用于在所述第一判断单元的判断结果为是时,由所述预置的鲁棒孤子分布度分布函数生成第一度数,并通过度调整函数增加度数不为1的编码分组的数量,生成第二度数;根据所述第二度数对所述待发送的源数据分组进行所述LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;第二判断单元,用于判断所述源节点需要发送的数据是否全部发送完毕,如果否,则返回触发所述第一判断单元。

优选地,所述负载量包括所述路径分别对应的节点缓存占用率QB和传输时延QT;所述第一生成单元,具体用于当源节点需要发送数据时,根据由所述源节点到目的节点的所有路径分别对应的负载量,采用如下公式计算生成所述所有路径分别对应的路由度量值:

Q=QB×QT

其中,Q为所述所有路径分别对应的路由度量值,QB为所述所有路径分别对应的平均缓存占用率,QT为所述所有路径分别对应的平均分组传送时延;路由度量值越小,所述选择系数对应路径的负载量越小。

优选地,所述第一确定单元,包括:排序子单元和确定子单元;所述排序子单元,用于将所述所有路径分别对应的路由度量值从大到小进行排序;所述确定子单元,用于将最小路由度量值对应的路径确定为由所述源节点到所述目的节点的主用路径。

优选地,所述第一判断单元,具体用于判断所述源节点已发送的编码分组的数量是否达到所述源节点需要发送的数据总量的85%。

优选地,所述第二处理单元,具体用于根据公式:生成第二度数;

其中,D为度调整函数,d为所述第一度数,m为预置的度的增量系数,rp为0到1之间的随机数,r为预置的比例系数,k为所述源数据分组的预置数量。

由上述的技术方案可见,本发明实施例提供的数据传输的方法及装置,能够根据由源节点到目的节点的所有路径分别对应的负载量,生成路径对应的路由度量值,进而确定由源节点到目的节点的主用路径和备用路径,以及由度调整函数生成度数,对源节点的数据进行LT编码处理。这样,不仅能够将由源节点到目的节点的所有路径中负载量最小的路径作为主用路径,保证数据的传输速率;而且能够为LT编码处理提供合理的度数,避免出现由于度数过低导致编码处理的覆盖率低,以及由于度数过高导致解码处理的工作量较大的问题,提高了数据的传输质量和传输效率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的数据传输方法的一种流程图;

图2为本发明实施例的数据传输方法中解码处理过程的一种示意图;

图3为本发明实施例的数据传输方法中解码处理过程的另一种示意图;

图4为本发明实施例的数据传输方法中当度的增量系数为不同取值时解码增益的变化曲线;

图5为本发明实施例的数据传输方法中当度的增量系数为不同取值时编码增量的变化曲线;

图6为本发明实施例的数据传输方法中解码增益随比例系数的变化曲线;

图7为本发明实施例的数据传输方法中编码增量随比例系数的变化曲线;

图8为本发明实施例的数据传输方法中当预置阈值为不同取值时解码增益的变化曲线;

图9为本发明实施例的数据传输方法的又一种流程图;

图10为本发明实施例的数据传输装置的一种结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种数据传输的方法及装置,一下分别进行详细说明。

方法实施例一

参见图1,图1为本发明实施例的数据传输方法的一种流程图,包括如下步骤:

步骤101,当源节点需要发送数据时,根据由所述源节点到目的节点的所有路径分别对应的负载量,生成所述所有路径分别对应的路由度量值;

步骤102,根据所述路由度量值,将由所述源节点到所述目的节点的所有路径中负载量最小的路径确定为由所述源节点到所述目的节点的主用路径;

步骤103,将由所述源节点到所述目的节点的所有路径中除所述主用路径以外的其他路径确定为由所述源节点到所述目的节点的备用路径;

步骤104,对所述源节点需要发送的数据进行分组,生成待发送的源数据分组;

步骤105,判断所述源节点已发送的编码分组的数量是否达到预置阈值,如果否,则执行步骤106;如果是,则执行步骤107;

步骤106,由预置的鲁棒孤子分布(Robust_Soliton_Distribution,RSD)度分布函数生成第一度数,根据所述第一度数对所述待发送的源数据分组进行LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;执行步骤108;

步骤107,由所述预置的RSD度分布函数生成第一度数,并通过度调整函数增加度数不为1的编码分组的数量,生成第二度数;根据所述第二度数对所述待发送的源数据分组进行所述LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;

步骤108,判断所述源节点需要发送的数据是否全部发送完毕,如果否,则返回执行步骤105;如果是,则数据传输结束。

本发明实施例可以适用于在无线多跳网络中,使用多路径并行的传输方式将多媒体数据由源节点传输到目的节点;其中,所述多媒体数据可以为音频、视频等任意形式的多媒体数据。

具体地,本发明实施例进行数据传输的过程如下:

首先,根据由源节点到目的节点的所有路径分别对应的负载量,生成各个路径分别对应的路由度量值;再根据路由度量值,将由源节点到目的节点的所有路径中负载量最小的路径确定为由源节点到目的节点的主用路径,将所述所有路径中除主用路径以外的其他路径确定为由源节点到目的节点的备用路径;通常情况下,主用路径为一条,备用路径为至少一条。

接下来,将需要发送的数据分割成等长的源数据分组,开始对源数据分组进行多次LT编码处理。其中,第一次编码处理的具体过程为:由预置RSD度分布函数生成第一度数,从待发送的源数据分组中随机选取第一度数数量的源数据分组,并对所述第一度数数量的源数据分组进行LT编码处理,以及将编码处理生成的编码分组传输至目的节点,至此,第一次编码处理结束。

然后,判断源节点已发送的编码分组的数量是否达到预置阈值。当源节点已发送的编码分组的数量没有达到预置阈值时,仍然由预置RSD度分布函数生成第一度数,并从待发送的源数据分组中随机选取第一度数数量的源数据分组进行LT编码处理,最后将编码处理生成的编码分组通过主用路径和备用路径发送至目的节点。

当源节点已发送的编码分组的数量达到预置阈值时,首先,由预置RSD度分布函数生成第一度数,再由度调整函数根据第一度数生成第二度数,以增加度数不为1的编码分组的数量;接下来,从待发送的源数据分组中随机选择第二度数数量的源数据分组进行LT编码处理,并将编码处理生成的编码分组通过主用路径和备用路径传输至目的节点。

最后,判断源节点需要发送的数据是否已经发送完毕,如果否,则返回判断源节点已发送的编码分组的数量是否达到预置阈值的步骤,并顺序执行后续步骤;如果是,则数据传输完成。

可见,在本发明实施例中,根据由源节点到目的节点的所有路径分别对应的负载量来确定由源节点到目的节点的主用路径和备用路径;以及使用LT码根据由度调整函数生成的度数,对源节点需要发送的数据进行编码处理,再将编码处理后的数据发送至目的节点。这样,不仅能够将由源节点到目的节点的所有路径中负载量最小的路径确定为主用路径,保证数据快速稳定的传输;而且能够为LT码进行编码处理提供合理的度数,避免出现由于度数过低导致的编码处理覆盖率效率低,进而影响数据传输质量,以及由于度数过高导致的解码处理工作量大,进而影响数据传输速率的问题,实现数据的高效传输。

在具体实施过程中,由路径对应的负载量生成路径对应的路由度量值,其中,路径的负载量包括路径分别对应的节点缓存占用率和传输时延;具体地,路由度量值可以通过公式(1)计算得到。

Q=QB×QT (1)

在公式(1)中,Q表示当前路径对应的路由度量值;QB为平均缓存占用率,具体为当前路径上所有节点中发送队列长度与节点预留缓存之比的平均值;QT为平均传输时延,具体为数据包从源节点到目的节点的传输时间的平均值。因此,路由度量值能够体现当前路径的负载量,衡量当前路径的传输能力,可以理解的,路径上节点的平均缓存占用率和平均传输时延越小,路径对应的路由度量值就越小,说明路径的负载量就越小,路径的传输能力也就越强。

在实际应用中,为了方便管理由源节点到目的节点的路径,当源节点需要发送数据时,可以将获取到的由源节点到目的节点的所有路径放入相应的路径集合中;在生成所有路径分别对应的路由度量值后,再根据路径对应的路由度量值的大小,对路径集合中的所有路径进行排序;最后,按照排序结果将最小路由度量值对应的路径确定为主用路径,并将路径集合中除主用路径以外的其他路径确定为备用路径。

需要说明的是,由源节点到目的节点的路径并不是越多越好,当由源节点到目的节点的路径个数超过三条时,路由发现和路径维护的开销会大大增加。为了提高网络资源的利用率,在本发明的一种应用实施例中,设置由源节点到目的节点的路径数量为两个,具体地,可以将由源节点到目的节点的所有路径中最小路由度量值对应的一条路径作为主用路径,将所述所有路径中除主用路径以外的最小路由度量值对应的另一条路径作为备用路径。其中,备用路径的个数可以根据实际情况确定,本发明对此不加以限制。

还需要说明的是,根据路由度量值的大小对路径集合中各个路径进行排序的规则可以根据实际情况来设定,可以是从小到大,也可以是从大到小,本发明对此不加以限制。

在本发明的一种优选实施例中,所述根据所述路由度量值,将由所述源节点到所述目的节点的所有路径中负载量最小的路径确定为由所述源节点到所述目的节点的主用路径的步骤,具体可以包括:

将所述所有路径分别对应的路由度量值从小到大进行排序,将最小路由度量值对应的路径确定为由所述源节点到所述目的节点的主用路径。

同时,还可以依据所述所有路径的排序结果,依次选取大于最小路由度量值的预置备用路径数量的路径做为由源节点到目的节点的备用路径。

可见,在本发明实施例中,可以根据由源节点到目的节点的所有路径对应的路由度量值,对所有路径进行排序,将所有路径中最小路由度量值对应的路径确定为主用路径,将所有路径中大于最小路由度量值的路径依次确定为备用路径。这样,就能够将所述所有路径中传输能力较强的几条路径分别确定为主用路径和备用路径,实现快速稳定的数据传输。

为了方便理解本发明实施例的方案,下面对文中可能涉及的有关编码处理和解码处理的概念进行简要说明,由于编码处理和解码处理均属于现有技术,本文对其他细节不再赘述。

LT编码处理的具体过程为:首先,将源节点需要发送的数据分割成长度为L的k个源数据分组,比如s1、s2…sk;然后,对所述k个源数据分组进行n次编码处理以得到n个编码分组,其中,n大于k;具体地,在每次进行编码处理时,由度分布函数生成当前编码处理对应的度数d,再从k个源数据分组中随机选取d个源数据分组进行异或操作,生成编码分组,可以理解的,每个编码分组都对应的一个度数;如此重复执行n次编码处理后,最终能够得到n个编码分组。

当目的节点接收到源节点发送过来的编码分组时,需要对接收到的编码分组进行LT解码处理。为了方便理解,举例说明LT解码处理的具体过程。其中,解码处理的一种示意图如图2所示,图2中的s1、s2和s3分别为源数据分组,t1、t2、t3和t4分别为编码分组;解码处理的另一种示意图如图3所示,图3中的s1、s2和s3分别为源数据分组,t2、t3和t4分别为编码分组。

首先,找到度数为1的编码分组;其中,度数为1的编码分组是指只与一个源数据分组有联系的编码分组。由图2可知,编码分组t1只与源数据分组s1有联系,因此,度数为1的编码分组为t1,并且可以确定编码分组t1对应的源数据分组为s1

接下来,由于源数据分组s1还与编码分组t2和编码分组t4有联系,需要将源数据分组s1分别与编码分组t2和编码分组t4进行异或操作,并在异或操作后对编码分组t2和编码分组t4进行更新处理;具体地,分别断开源数据分组s1与编码分组t2、编码分组t4的联系,使得编码分组t4度数变为1,如图3所示。

如此重复执行上文所述解码处理过程,直到所有的编码分组都找到对应的源数据分组,完成解码处理。

在本发明的一种应用实施例中,所述判断源节点已发送的编码分组的数量是否达到预置阈值的步骤中,预置阈值具体可以为源节点已发送的编码分组的数量达到源节点需要发送的数据总量的百分比。在本发明实施例的实际应用中,所述百分比可以根据实际需要进行预先设置,比如,在数据传输的后期,需要提高LT解码的释放率和加快解码效率,此时,可以将所述百分比设置高一些,如80%或者85%等,本发明对所述百分比的取值不加以限制。当源节点已发送的编码分组的数量占源节点需要发送的数据总量的百分比大于或者等于预置阈值时,就可以认为源节点已发送的编码分组的数量已经达到预置阈值。在本发明的一种应用实施例中,将源节点已发送的的编码分组的数量达到源节点需要发送的数据总量的85%作为预置阈值。

在本发明的另一种优选实施例中,所述通过度调整函数增加度数不为1的编码分组的数量,生成第二度数的步骤,具体可以包括:

根据所述第一度数度,根据公式(2),生成第二度数;

其中,D为度调整函数,d为所述第一度数,m为预设的度的增量系数,rp为0到1之间的随机数,r为预设的比例系数,k为所述源数据分组的预置数量。

具体地,当判断源节点已发送的编码分组的数量没有达到源节点需要发送的数据总量的85%时,先由预置的RSD度分布函数生成第一度数d;再从待编码源数据分组中随机选取d个源数据分组,对当前d个待编码的源数据分组进行LT编码处理。

当判断源节点已发送的编码分组的数量已经达到源节点需要发送的数据总量的85%时,首先,由预置的RSD度分布函数生成第一度数d,同时生成0至1之间的随机数rp;接下来,根据第一度数d和随机数rp,由度调整函数生成第二度数D’,其中,度调整函数如公式(1)所示;然后,从待编码源数据分组中随机选取D’个源数据分组,再对当前D’个源数据分组进行LT编码处理。

为了达到更佳的传输效果,本发明实施例通过大量的实验来确定度调整函数的表达式中比例系数r和度的增量系数m的取值,具体说明如下:

实际应用中,为了比较当各参数的为不同取值时,编码处理和解码处理的效果差异,因此设定了编码增量和解码增益两个指标。

具体地,编码增量可以用于表示当分别使用度调整函数与RSD函数时,生成度数平均值的比值。可以理解的,度数平均值越高,编码处理的工作量就越大,编码处理占用的资源和时间就越多。

另外,解码增益可以用于表示当分别使用度调整函数与RSD函数时,目的节点在解码处理后,能够找到对应的源数据分组的编码分组数量的比值。可以理解的,解码增益越大,能够成功找到对应源数据分组的编码分组的数量就越多,目的节点能够恢复数据的成功率就越高。

针对度的增量系数m的取值,需要进行进一步说明的是:

首先,图4示出了当度的增量系数m分别取2、3和4时,解码增益随比例系数r的变化曲线,可以看出,当比例系数r的取值在0.2~0.4之间时,解码增益对应的变化曲线峰值较高;其中,当增量系数m取值为2时,解码增益对应的变化曲线峰值最高。

接下来,图5示出了当度的增量系数m分别取2、3和4时,编码增量随比例系数r的变化曲线,可以看出,当比例系数r的取值在0.2~0.4之间时,增量系数m的取值越小,编码增量对应的变化曲线的峰值也越小;其中,当增量系数m的取值为2时,编码增量对应的变化曲线的峰值最小。

综合考虑解码增益和编码增量两项指标可知,当增量系数m的取值为2时,能够将解码增益和编码增量均维持一个较佳的水平,因此,本发明实施例设定增量系数m的取值为2。

针对确定比例系数r,需要进行进一步说明,具体陈述如下:

首先,图6示出了当丢包率为30%、25%和20%时,解码增益随比例系数r的变化曲线,可以看出,当比例系数r值在0.2~0.4之间时,解码增益对应变化曲线的值较高。

接下来,图7示出了当丢包率为30%、25%和20%时,编码增量随比例系数r的变化曲线,可以看出,比例系数r的值越小,编码增量对应变化曲线值也越小。

综合考虑解码增益和编码增量两项指标可知,当比例系数r为0.3时,能够将解码增益和编码增量均维持一个较佳的水平,因此,本发明实施例设定比例系数r的取值为0.3。

另外,为了使度调整函数的调整效果更佳,本发明实施例还通过大量的实验来确定判断条件中目的节点接收到的编码分组的数量占数据总量的百分比取值,具体陈述如下:

图8示出了当预置阈值分别为源节点已发送的编码分组的数量占源节点需要发送数据总量的5%、50%和85%时,解码增益随比例系数r的变化曲线;其中,设定丢包率为25%。可以理解的,源节点已发送的编码分组的数量占源节点需要发送的数据总量的5%、50%、85%,分别代表了数据传输的早期、中期和后期。从图8可以看出,当预置阈值分别为源节点已发送的编码分组的数量占源节点需要发送的数据总量的5%和50%时,解码增益对应的变化曲线的峰值较小;当预置阈值为源节点已发送的的编码分组的数量占源节点需要发送的数据总量的85%时,解码增益对应的变化曲线的峰值较大。因此,本发明实施例将源节点已发送的编码分组的数量占源节点需要发送的数据总量的85%做为预置阈值。

可见,在本发明实施例中,度调整函数可以通过比例系数r来调节度数为1的编码分组和度数不为1的编码分组的数量比例。具体地,当源节点已发送的编码分组的数量达到源节点需要发送的数据总量的85%时,由度调整函数生成的第二度数,在生成的第二度数中,度数不为1的编码分组数量大于度数为1的编码分组数量;这样,在数据传输的后期,通过度调整函数实现了度数为1的编码分组和度数不为1的编码分组的最佳数量比例,不仅能够覆盖更多的源数据分组,而且可以提高LT码的释放率,加快解码进程,避免出现由于度数为1的编码分组数量过多而导致编码覆盖率低、LT码释放率低,以及度数不为1编码分组数量过多而导致解码处理工作量大、解码较慢的问题,实现了数据传输地快速可靠。

方法实施例二

本实施例在上述实施例一的基础上,举例说明根据路由度量值确定由源节点到目的节点的主用路径和备用路径,以及根据度调整函数生成度数,使用LT码根据所述度数进行编码处理的具体过程。参见图9,图9为本发明实施例的数据传输方法的另一种流程图,包括如下步骤:

步骤901,当源节点需要发送数据时,根据由所述源节点到目的节点的所有路径分别对应的负载量,生成由所述源节点到目的节点的预置数量的路径分别对应的路由度量值;

在本发明实施例中,由源节点到目的节点之间的路径为三条,分别为路径a、路径b和路径c。

具体地,路径a上所有节点的节点缓存率平均值为0.3,路径a的传输时延为2秒,由公式(1)可得路径a的路由度量值为0.3×2=0.6;路径b上所有节点的节点缓存率平均值为0.3,路径b的传输时延为3秒,由公式(1)可得路径b的路由度量值为0.3×3=0.9;路径c上所有节点的节点缓存率平均值为0.4,路径c的传输时延为3秒,由公式(1)可得路径c的路由度量值为0.3×3=1.2。

可见,按照路由度量值对所有路径由小到大进行排序的结果为:路径a、路径b、路径c。

步骤902,将最小路由度量值对应的路径确定为由所述源节点到所述目的节点的主用路径;将除所述主用路径以外的另一条路径确定为由所述源节点到所述目的节点的备用路径;

在本发明实施例中,主用路径的数量为一条,备用路径的数量也为一条。

具体地,根据步骤901得到的路径排序结果,可以将最小路由度量值对应的路径a确定为主用路径,将次小路由度量值对应的路径b确定为备用路径。

步骤903,将所述源节点需要发送的数据分成等长的源数据分组;

步骤904,判断所述源节点已发送的编码分组的数量是否达到所述源节点需要发送的数据总量的85%;

步骤905,当所述源节点已发送的编码分组的数量已经达到所述源节点需要发送的数据总量的85%时,由所述RSD函数生成第一度数,并由度调整函数根据所述第一度数生成第二度数;

在实际应用中,由于数据在无线多跳网络中容易出现较大的丢包率,可以通过增加发送编码分组的数量来提高数据传输的准确率。

具体地,在本发明实施例中编码分组的总数量为K*Z*C。其中,K为源数据分组的数量,Z为LT编码的计算参数,C为传输补偿系数,用于弥补数据包的丢失,可根据实际丢包情况进行确定。

步骤906,根据所述第二度数对源数据分组进行LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;

步骤907,判断所述源节点需要发送的数据是否全部发送完毕;如果是,则数据传输结束,如果否,则返回执行步骤904。

可见,在本发明实施例中,能够根据由源节点到目的节点的路径负载量来确定由源节点到目的节点的主用路径和备用路径;以及使用LT码根据由度调整函数生成的度数,对源节点需要发送的数据进行编码处理。不仅提高了数据的传输效率,而且避免出现由于编码度数不合理对数据传输造成的不良影响。

装置实施例

参见图10,图10为本发明实施例的数据传输装置的一种结构图,具体可以包括以下单元:

第一生成单元1001,用于当源节点需要发送数据时,根据由所述源节点到目的节点的所有路径分别对应的负载量,生成所述所有路径分别对应的路由度量值;

第一确定单元1002,用于根据所述路由度量值,将由所述源节点到所述目的节点的所有路径中负载量最小的路径确定为由所述源节点到所述目的节点的主用路径;以及

第二确定单元1003,用于将由所述源节点到所述目的节点的所有路径中除所述主用路径以外的其他路径确定为由所述源节点到所述目的节点的备用路径;

第二生成单元1004,用于对所述源节点需要发送的数据进行分组,生成待发送的源数据分组;

第一判断单元1005,用于判断所述源节点已发送的编码分组的数量是否达到预置阈值;

第一处理单元1006,用于在所述第一判断单元的判断结果为否时,由预置的鲁棒孤子分布度分布函数生成第一度数,根据所述第一度数对所述待发送的源数据分组进行LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;

第二处理单元1007,用于在所述第一判断单元的判断结果为是时,由所述预置的鲁棒孤子分布度分布函数生成第一度数,并通过度调整函数增加度数不为1的编码分组的数量,生成第二度数;根据所述第二度数对所述待发送的源数据分组进行所述LT编码处理;将所述编码处理生成的编码分组通过所述主用路径和所述备用路径传输至所述目的节点;

第二判断单元1008,用于判断所述源节点需要发送的数据是否全部发送完毕,如果否,则返回触发所述第一判断单元1005。

在本发明的一种可选实施例中,所述负载量包括所述路径分别对应的节点缓存占用率QB和传输时延QT

所述第一生成单元1001,具体用于当源节点需要发送数据时,根据由所述源节点到目的节点的所有路径分别对应的负载量,采用如下公式计算生成所述所有路径分别对应的路由度量值:

Q=QB×QT

其中,Q为所述所有路径分别对应的路由度量值,QB为所述所有路径分别对应的平均缓存占用率,QT为所述所有路径分别对应的平均分组传送时延;路由度量值越小,所述选择系数对应路径的负载量越小。

在本发明的又一种可选实施例中,所述第一确定单元1002,包括:排序子单元和确定子单元;

所述排序子单元,用于将所述所有路径分别对应的路由度量值从大到小进行排序;

所述确定子单元,用于将最小路由度量值对应的路径确定为由所述源节点到所述目的节点的主用路径。

在本发明的另一种可选实施例中,所述第一判断单元1005,具体用于判断所述源节点已发送的编码分组的数量是否达到所述源节点需要发送的数据总量的85%。

在本发明的再一种可选实施例中,所述第二处理单元1007,具体用于根据公式:生成第二度数;

其中,D为度调整函数,d为所述第一度数,m为预置的度的增量系数,rp为0到1之间的随机数,r为预置的比例系数,k为所述源数据分组的预置数量。

可见,在本发明实施例中,能够根据由源节点到目的节点的路径负载量来确定由源节点到目的节点的主用路径和备用路径;以及使用LT码根据由度调整函数生成的度数,对源节点需要发送的数据进行编码处理,实现数据在无线多跳网络中的高效传输。

需要说明的是,本发明实施例的装置是应用上述数据传输方法的装置,则上述数据传输方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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