一种数据包转发方法及装置与流程

文档序号:13534233阅读:209来源:国知局
一种数据包转发方法及装置与流程

本发明涉及数据处理技术领域,尤其涉及一种数据包转发方法及装置。



背景技术:

网络视频等高带宽业务的出现,对现有网络的服务质量提出挑战,长时间的初始缓冲会挑战用户耐心和服务忠诚度,快速响应网络用户的业务请求成为迫切需要解决的问题。

现有的层次化服务质量(hierarchicalqualityofservice,简称hqos)技术提供“用户+业务”级的业务保证。然而,在现有技术下,当用户需要访问大图片、大网页、大视频或大文件等大数据时,经常会出现网络初始响应缓慢,需要长时间刷新页面或者长时间业务初始缓冲的情况,造成用户需要等待较长时间,甚至卡死或者加载失败的情况,严重影响了用户体验。并且现有技术中,通过预先为用户分配好网络带宽,然后通过预先分配好的网络带宽传输数据信息。不加以任何调节,这样使得网络带宽没有得到充分的利用,造成资源浪费,严重影响用户的使用体验。



技术实现要素:

本发明所要解决的技术问题是针对上述现有技术的不足,提供一种数据包转发方法及装置。

第一方面,本发明提供了一种数据转发方法,所述方法包括:

读取数据包的数据量,并根据用户端的已占用带宽获取用户端传输信道的可用带宽;

当确定所述数据包的数据量大于所述可用带宽时,根据所述可用带宽将所述数据包拆分为n个数据量相等的子数据包,所述n为大于1的自然数;

根据所述子数据包的数据量动态分配所述可用带宽,并在预定时间内通过动态分配后的所述可用带宽转发所述多个子数据包;

其中,所述子数据包的数据量不大于所述可用带宽。

本发明的数据转发方法,根据用户端已占用的带宽获取可用带宽,在所述数据包的数据量大于所述可用带宽时将所述数据包拆分为多个数据量相等的子数据包,并根据所述子数据包的数据量动态分配所述可用带宽,最后根据动态分配后的所述可用带宽转发所述多个子数据包。通过将所述数据包拆分为多个子数据包,并根据子数据包的数量对可用带宽进行动态分配,这样可以在确保数据包顺利转发的前提下尽可能提高转发效率和网络资源的利用率,避免出现初始缓冲甚至卡死或者加载失败的情况。

进一步,所述方法还包括:当所述数据包的数据量小于或等于所述可用带宽,则通过所述可用带宽将所述数据包直接转发。

上述实施例中,当所述数据包的数据量小于或等于所述可用带宽,则无需将所述数据包进行拆分,即可顺利的将所述数据包通过所述可用带宽所在信道进行转发,实现数据包的流畅转发。

进一步,所述方法还包括:当根据所述可用带宽将所述数据包拆分为多个数据量相等的子数据包后,为所有所述子数据包生成标识信息,并将所述标识信息进行id编号。

上述实施例中,通过为所述子数据包生成标识信息并将所述标识信息按序进行id编号,可以在转发的过程中对所述子数据包进行识别,也方便接收端接收所述子数据包之后根据所述id编号对所述子数据包进行解压后形成目标数据内容。

进一步,所述方法还包括:在对所述子数据转发之前,建立子数据包列表,并将所述子数据包对应的标识信息和id编号一一对应关联存储在所述子数据包列表中,当所述子数据包通过所述可用带宽转发以后,从所述子数据包列表中删除所述子数据包对应的标识信息和id编号。

上述实施例中,通过所述建立所述子数据包列表,可用便于在子数据包转发过程中对所述数据包进行管理和监控,降低所述子数据包在转发过程中的出错几率,有效保证所述子数据包转发的准确性和完整性,同时便于在根据所述子数据包的数量合理调整所述可用带宽的分配情况。

进一步,所述方法还包括,在转发所述子数据包之前,将所述子数据包进行本地缓存,并在所述子数据包转发以后,检测在预设时间内是否收到接收端的反馈信息,当确定在预设时间内没有收到接收端的反馈信息时,从本地缓存中读取所述数据包,并将其对应的所述标识信息和id编号重新关联存入所述子数据包列表,并进行重新转发。

上述实施例中,通过检测在预设时间内是否收到接收端的反馈信息可以对所述子数据包的转发进程进行跟踪,并在所述子数据包转发出现异常时通过本地缓存的方式实现重新转发,同时利用所述子数据包列表来进行监控,确保所述子数据包转发成功。

第二方面,本发明提供了一种数据转发装置,所述装置包括:

获取单元,用于读取数据包的数据量,并根据用户端的已占用带宽获取用户端传输信道的可用带宽;拆分单元,用于根据所述可用带宽将所述数据包拆分为n个数据量相等的子数据包,所述子数据包的数据量不大于所述可用带宽,所述n为大于1的自然数;动态分配单元,用于根据所述子数据包的数据量动态分配所述可用带宽;转发单元,用于在预定时间内通过动态分配后的所述可用带宽依次转发多个所述子数据包。

本发明的数据转发装置,获取单元根据用户端已占用的带宽获取可用带宽,所述拆分单元在所述数据包的数据量大于所述可用带宽时将所述数据包拆分为多个数据量相等的子数据包,所述动态分配单元根据所述子数据包的数据量动态分配所述可用带宽,最后转发单元根据动态分配后的所述可用带宽转发所述多个子数据包。通过将所述数据包拆分为多个子数据包,并根据子数据包的数量对可用带宽进行动态分配,这样可以在确保数据包顺利转发的前提下尽可能提高转发效率和网络资源的利用率,避免出现初始缓冲甚至卡死或者加载失败的情况。

进一步,当所述获取单元获取所述数据包的数据量小于或等于所述可用带宽,则所述转发单元通过所述可用带宽将所述数据包直接转发。

上述实施例中,当所述数据包的数据量小于或等于所述可用带宽,则无需将所述数据包进行拆分,即可顺利的将所述数据包通过所述可用带宽所在信道进行转发,实现数据包的流畅转发。

进一步,所述装置还包括标识编码单元,用于当所述拆分单元根据所述可用带宽将所述数据包拆分为多个数据量相等的子数据包后,为所述子数据包生成标识信息,并将所述标识信息进行id编号。

上述实施例中,通过标识编码单元为所述子数据包生成标识信息并将所述标识信息按序进行id编号,可以在转发的过程中对所述子数据包进行识别,也方便接收端接收所述子数据包之后根据所述id编号对所述子数据包进行解压后形成目标数据内容。

进一步,所述装置还包括数据列表单元,用于在对所述子数据转发之前,建立子数据包列表,并将所述子数据包对应的标识信息和id编号一一对应关联存储在所述子数据包列表中,当所述转发单元将子数据包通过所述可用带宽转发以后,从所述子数据包列表中删除所述子数据包对应的标识信息和id编号。

上述实施例中,通过所述建立所述子数据包列表,可用便于在子数据包转发过程中对所述数据包进行管理和监控,降低所述子数据包在转发过程中的出错几率,有效保证所述子数据包转发的准确性和完整性,同时便于在根据所述子数据包的数量合理调整所述可用带宽的分配情况。

进一步,所述装置还包括缓存单元和反馈跟踪单元,所述缓存单元用于在转发所述子数据包之前,将所述子数据包进行本地缓存,所述反馈跟踪单元用于在所述子数据包转发以后,检测在预设时间内是否收到接收端的反馈信息,当确定在预设时间内没有收到接收端的反馈信息时,从本地缓存中读取所述数据包,并将其对应的所述标识信息和id编号重新关联存入所述子数据包列表,并由所述转发单元进行重新转发。

上述实施例中,通过反馈跟踪单元检测在预设时间内是否收到接收端的反馈信息可以对所述子数据包的转发进程进行跟踪,并在所述子数据包转发出现异常时通过缓存单元进行本地缓存,再由所述转发单元实现重新转发,同时利用所述子数据包列表来进行监控,确保所述子数据包转发成功。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

图1为本发明一实施例提供的数据转发方法流程示意图;

图2为本发明另一实施例提供的步骤s120方法流程示意图;

图3为本发明另一实施例提供的步骤s120方法流程示意图;

图4为本发明另一实施例提供的步骤s120方法流程示意图;

图5为本发明另一实施例提供的数据转发方法流程示意图;

图6为本发明另一实施例提供的步骤s140方法流程示意图;

图7为本发明另一实施例提供的数据转发系统流程示意图;

图8为本发明一实施例提供的数据转发装置结构示意图;

图9为本发明另一实施例提供的数据转发装置结构示意图;

图10为本发明一实施例提供的动态分配单元结构示意图;

图11为本发明另一实施例提供的数据转发装置结构示意图;

图12为本发明另一实施例提供的数据转发装置结构示意图;

图13为本发明另一实施例提供的数据转发装置结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、模块、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

如图1给出了本发明实施例提供的一种数据转发方法流程示意图。如图1所示方法的执行主体可以是服务器,该方法包括:

s110,读取所述数据包的数据量,并根据用户端的已占用带宽获取用户端传输信道的可用带宽;

本实施例中,接收到所述数据包之后,首先读取所述数据包的数据量大小,然后获取用户端已占用带宽,通过签约带宽和已占用带宽便可以计算出用户端传输信道的可用带宽,便于后续根据所述可用带宽对所述数据包进行拆分。

s120,当确定所述数据包的数据量大于所述可用带宽时,根据所述可用带宽将所述数据包拆分为n个数据量相等的子数据包,所述n为大于1的自然数。

当获取用户端传输信道的可用带宽后,首先将所述数据包的数据量与所示可用带宽进行比较,当确定所述数据包的数据量大于所述可用带宽时,表明所述可用带宽对于上述数据包的数据量来说偏小,会引起数据包传输的延时或阻塞,此时将所述数据包拆分为多个子数据包,便可以将所述数据包能够顺利的转发出去。

这里,之所以将所述数据包拆分为多个数据量相等的子数据包,是为了在后续对所述可用带宽进行动态分配调节时比较方便,由于所有所述子数据包的数据量相同,所以可用不用区分数据量不同的子数据包,这样对所述可用带宽进行动态分配调节可用参照统一的标准执行。

s130,根据所述子数据包的数据量动态分配所述可用带宽,并在预定时间内通过动态分配后的所述可用带宽转发所述多个子数据包,其中,所述子数据包的数据量不大于所述可用带宽。

根据所述子数据包的数据量动态分配所述可用带宽,可用使得将所述数据包拆分为多个子数据包之后,通过动态调节后的可用带宽将所述多个子数据包转发出去,这样可以提高数据的转发效率,同时降低数据在转发过程中出错的概率,缩短用户等待时间,提高了用户使用体验。

本发明的数据转发方法,根据用户端已占用的带宽获取可用带宽,在所述数据包的数据量大于或等于所述可用带宽时将所述数据包拆分为多个数据量相等的子数据包,并根据所述子数据包的数据量动态分配所述可用带宽,最后根据动态分配后的所述可用带宽转发所述多个子数据包。通过将所述数据包拆分为多个子数据包,并根据子数据包的数量对可用带宽进行动态分配,这样可以在确保数据包顺利转发的前提下尽可能提高转发效率和网络资源的利用率,避免出现初始缓冲甚至卡死或者加载失败的情况。

优选地,在上述实施例中,所述方法还包括:当确定所述数据包的数据量小于或等于所述可用带宽,则通过所述可用带宽将所述数据包直接转发。

上述实施例中,当所述数据包的数据量小于或等于所述可用带宽,则无需将所述数据包进行拆分,即可顺利的将所述数据包通过所述可用带宽所在信道进行转发,实现数据包的流畅转发。

优选地,在上述实施例中,所述方法还包括:当根据所述可用带宽将所述数据包拆分为多个数据量相等的子数据包后,为所有所述子数据包生成标识信息,并将所述标识信息进行id编号。

上述实施例中,通过为所述子数据包生成标识信息并将所述标识信息按序进行id编号,可以在转发的过程中对所述子数据包进行识别,也方便接收端接收所述子数据包之后根据所述id编号对所述子数据包进行解压后形成目标数据内容。

优选地,如图2所示,在上述实施例中,上述步骤s120的实现方式可以具体为:所述根据所述子数据包的数据量动态分配所述可用带宽具体包括:

s210,将所述可用带宽与所述子数据包的数据量进行比较;

s220,当确定所述可用带宽大于或等于每个所述子数据包数据量的n(n>1)倍时,将所述可用带宽划分为n个子信道,并通过n个子信道并行转发所述数据包。

上述实施例中,在将所述数据包拆分费多个子数据包后,将所述子数据包与所述可用带宽进行比较,如果所述可用带宽大于或等于所述子数据包数据量的n(n>1)倍时,表面经过拆分之后,所述子数据包的数据量明显小于所述可用带宽,此时,如果直接按照所述可用带宽对所述子数据包进行转发,会造成信道资源的大量浪费,利用率较低,此时,通过将所述可用带宽划分为n个子信道,可用通过n个子信道并行发送所述子数据包,这样在保证所述子数据包能顺利转发的前提下,实现了信道带宽的充分利用,提高了网络资源的利用率。

优选地,如图3所示,在上述实施例中,所述步骤s120的实现方式还可以具体包括:

s310,将所述子信道的带宽与所述子数据包的数据量进行比较;

s320,当确定所述子信道的带宽与所述子数据包的数据量满足预设条件时,缩小所述子信道的带宽,且保持所述子数据包的数据量不大于所述子信道的带宽;

其中,所述预设条件为:所述子信道的带宽与所述子数据包的数据量之差与所述子信道的带宽的比值大于预设阈值。

当确定所述子信道的带宽与所述子数据包的数据量满足预设条件时,表明所述自信对的带宽对所述子数据包来说有富余,会有部分带宽没有利用,所以此时缩小所述子信道的带宽,一方面,不仅不会影响所述子数据包的转发,另一方面,还可以把缩小所述子信道时生成的剩余带宽作为转发子数据包或者其他数据信息的信道,这样可以对所述可用带宽进行充分利用,进一步提高网络资源的利用率。

当然,需要指出的是,这里的所述预设条件中,之所以要限定所述子信道的带宽与所述子数据包的数据量之差与所述子信道的带宽的比值大于预设阈值,一方面是为了保证在缩小所述子信道的带宽时,缩小后的所述子信道的带宽不能小于所述子数据包的数据量,另一方面,是为了在不影响所述子数据包的转发前提下,将所述子信道中富余的带宽整合,并可以通过生成的剩余宽带作为转发子数据包或者他用。

例如,当所述子信道的带宽为10m,所述子数据包的数据量为6m,那么转发所述子数据包的子信道中有4m带宽富余,此时可以缩小所述子信道的带宽,但是不能将所述子信道的带宽缩小至小于6m。比如,当所述预设阈值为0.25时,可以将所述子信道的带宽缩小至8m,这样就可以形成2m的剩余带宽,依次类推,多个子信道就可以形成更多的剩余带宽。实际中,所述子信道的带宽通常不宜与所述子数据包的数据量相等,一般要略大于所述子数据包的数据量,这样不会影响所述子数据包通过所述子信道进行转发。

优选地,如图4所示,在上述实施例中,所述步骤s120的实现方式还可以具体包括:

s410,缩小所述子信道的带宽的同时生成剩余带宽,将所述剩余带宽与所示子信道带宽进行比较;

s420,当确定所述剩余带宽大于所述子信道带宽时,将所述剩余带宽按照缩小后的所述子信道带宽重新进行划分,生成至少一个额外子信道;

这里,对所述子信道进行缩减带宽之后,会同时形成剩余带宽,此时,将所述剩余带宽与所示子信道带宽进行比较,如果所述剩余带宽大于所述子信道带宽时,则表明所述剩余带宽可以用来转发所述子数据包,所以将所述剩余带宽按照所述缩小后的子信道带宽重新进行划分,生成至少一个额外子信道,可以用来协助转发所述子数据包,这样可以加快所述子数据包的转发效率。

s430,将所述子数据包通过所述子信道和额外子信道并行发送。

通过所述子信道和额外子信道并行发送所述子数据包,可以使得所述子数据包的转发效率大大提高,所述可用带宽的利用率大大提高,实现了网络资源的充分合理利用。

例如,接着上述的例子来说,假定所述子信道的数量为10个,那么所述剩余带宽即为20m,而每个所述子信道的带宽为10m,那么所述剩余带宽就可以划分为2个额外子信道,这样10个子信道和2个额外子信道就可以并行发送子数据包,这样可以大大提高自数据包的转发效率。

优选地,如图5所示,作为本发明的一个实施例,该实施例中,所述根据所述子数据包的数据量动态分配所述可用带宽,并在预定时间内通过动态分配后的所述可用带宽转发所述多个子数据包之后,所述方法还包括:

s140,在所述预定时间内获取用户端的平均占用带宽,并根据所述平均占用带宽与所述已占用带宽反馈调节所述可用带宽和所述已占用带宽的分配。

上述步骤中,通过将所述所述平均占用带宽与所述已占用带宽反馈调节所述可用带宽和所述已占用带宽的分配,可用在保证用户端在先数据信息传输请求的基础上,尽可能提高子数据包的转发效率,同时也可以提高网络资源的利用率。

优选地,如图6所示,作为本发明的一个实施例,该实施例中,所述步骤s140的具体实现方式可以具体包括:

s510,在所述预定时间内获取用户端的平均占用带宽;

在预定时间内,用户端会根据在先的数据请求通过所述已占用带宽进行数据信息传输,并且所述数据请求对应占用的带宽是会变化的,这里通过在所述预定时间内获取用户端的平均占用带宽,是为了检测所述数据请求对应占用带宽的情况,即平均占用带宽。

s520,将所述平均占用带宽与所述已占用带宽进行比较;

s530,当确定所述平均占用带宽大于所述已占用带宽的持续时长大于预设时间阈值,则按照先释放所述额外子信道,再释放所述子信道的顺序释放信道,以增加所述已占用带宽,直到所述平均占用带宽不大于增加后的所述已占用带宽。

上述步骤中,将所述平均占用带宽与所述已占用带宽进行比较,可以判定所述已占用带宽是否能够满足用户端在先数据信息请求的需求,如果所述平均占用带宽大于所述已占用带宽的持续时长大于预设时间阈值,说明所述已占用带宽已经不够用了,此时,需要把之前没有充分利用的所述额外子信道先增加给已占用带宽,如果还不够,进一步把部分子信道也增加给已占用带宽,这样确保所述已占用带宽的那部分能够满足用户在先的数据信息传输请求,如果删除所述额外子信道之后,所述平均占用带宽不大于所述已占用带宽,则无需继续删除所述子信道。

例如,还是接着上述例子来说,假定所述已占用带宽为90m,所述平均占用带宽为120m,那么所述平均占用带宽大于所述已占用带宽,如果持续时长超过预设时间阈值,那么就可以先释放2个所述额外子信道,并用以增加所述已占用带宽,此时,所述已占用带宽增加到110m,与所述平均占用带宽为120m仍然相差10m,所以还需要再释放一个子信道来继续真假所述已占用带宽,使得所述已占用带宽达到所述平均占用带宽。

优选地,在上述实施例中,所述方法还包括:在对所述子数据转发之前,建立子数据包列表,并将所述子数据包对应的标识信息和id编号一一对应关联存储在所述子数据包列表中,当所述子数据包通过所述可用带宽转发以后,从所述子数据包列表中删除所述子数据包对应的标识信息和id编号。

上述实施例中,通过所述建立所述子数据包列表,可用便于在子数据包转发过程中对所述数据包进行管理和监控,降低所述子数据包在转发过程中的出错几率,有效保证所述子数据包转发的准确性和完整性,同时便于在根据所述子数据包的数量合理调整所述可用带宽的分配情况。

优选地,在上述实施例中,所述方法还包括:在转发所述子数据包之前,将所述子数据包进行本地缓存,并在所述子数据包转发以后,检测在预设时间内是否收到接收端的反馈信息,当确定在预设时间内没有收到接收端的反馈信息时,从本地缓存中读取所述数据包,并将其对应的所述标识信息和id编号重新关联存入所述子数据包列表,并进行重新转发。

上述实施例中,通过检测在预设时间内是否收到接收端的反馈信息可以对所述子数据包的转发进程进行跟踪,并在所述子数据包转发出现异常时通过本地缓存的方式实现重新转发,同时利用所述子数据包列表来进行监控,确保所述子数据包转发成功。

上文结合图1至图6,详细描述了根据本发明实施例的数据转发方法,下面结合图7-13,详细描述根据本发明实施例的数据转发装置。

图7为本发明实施例提供的一种数据转发系统架构图。具体如图7所示,该系统架构至少包括:至少一个客户端、物联网络和服务器。

其中,物联网络包括物联网接入设备、物联网互联设备和物联网安全设备等。物联网接入设备包括有物联网远端接入接口和物联网本地接入接口,用于通过所述物联网远端接入接口和物联网本地接入接口建立外部终端与物联网服务子系统的连接。物联网互联设备包括有分别用于与物联网接入设备、物联网安全设备以及内部终端连接的物联网互联接口,用于通过所述物联网互联接口提供所述物联网接入设备以及所述物联网服务子系统的互联。

本申请文件将详细介绍服务器所执行的方法流程。该实施例中,服务器为即为数据转发装置。图8为本发明实施例提供的一种数据转发装置结构示意图。如图8所示,该装置包括:获取单元、拆分单元、动态分配单元和转发单元。

获取单元,用于读取数据包的数据量,并根据用户端的已占用带宽获取用户端传输信道的可用带宽;

本实施例中,接收到所述数据包之后,所述获取单元首先读取所述数据包的数据量,然后获取用户端已占用带宽,通过签约带宽和已占用带宽便可以计算出用户端传输信道的可用带宽,便于后续根据所述可用带宽对所述数据包进行拆分。

拆分单元,用于根据所述可用带宽将所述数据包拆分为n个数据量相等的子数据包,所述子数据包的数据量不大于所述可用带宽,所述n为大于1的自然数;

当获取用户端传输信道的可用带宽后,首先将所述数据包的数据量与所示可用带宽进行比较,当确定所述数据包的数据量大于所述可用带宽时,表明所述可用带宽对于上述数据包的数据量来说偏小,会引起数据包传输的延时或阻塞,此时将所述数据包拆分为多个子数据包,便可以将所述数据包能够顺利的转发出去。

这里,之所以将所述数据包拆分为多个数据量相等的子数据包,是为了在后续对所述可用带宽进行动态分配调节时比较方便,由于所有所述子数据包的数据量相同,所以可用不用区分数据量不同的子数据包,这样对所述可用带宽进行动态分配调节可用参照统一的标准执行。

动态分配单元,用于根据所述子数据包的数据量动态分配所述可用带宽;转发单元,用于在预定时间内通过动态分配后的所述可用带宽依次转发多个所述子数据包。

根据所述子数据包的数据量动态分配所述可用带宽,可用使得将所述数据包拆分为多个子数据包之后,通过动态调节后的可用带宽将所述多个子数据包转发出去,这样可以提高数据的转发效率,同时降低数据在转发过程中出错的概率,缩短用户等待时间,提高了用户使用体验。

本发明的数据转发装置,获取单元根据用户端已占用的带宽获取可用带宽,所述拆分单元在所述数据包的数据量大于所述可用带宽时将所述数据包拆分为多个数据量相等的子数据包,所述动态分配单元根据所述子数据包的数据量动态分配所述可用带宽,最后转发单元根据动态分配后的所述可用带宽转发所述多个子数据包。通过将所述数据包拆分为多个子数据包,并根据子数据包的数量对可用带宽进行动态分配,这样可以在确保数据包顺利转发的前提下尽可能提高转发效率和网络资源的利用率,避免出现初始缓冲甚至卡死或者加载失败的情况。

优选地,在上述实施例中,当所述获取单元获取所述数据包的数据量小于或等于所述可用带宽,则所述转发单元通过所述可用带宽将所述数据包直接转发。

上述实施例中,当所述数据包的数据量小于或等于所述可用带宽,则无需将所述数据包进行拆分,即可顺利的将所述数据包通过所述可用带宽所在信道进行转发,实现数据包的流畅转发。

优选地,如图9所示,在上述实施例中,所述装置还包括标识编码单元,用于当所述拆分单元根据所述可用带宽将所述数据包拆分为多个数据量相等的子数据包后,为所述子数据包生成标识信息,并将所述标识信息进行id编号。

上述实施例中,通过标识编码单元为所述子数据包生成标识信息并将所述标识信息按序进行id编号,可以在转发的过程中对所述子数据包进行识别,也方便接收端接收所述子数据包之后根据所述id编号对所述子数据包进行解压后形成目标数据内容。

优选地,如图10所示,在上述实施例中,所述动态分配单元包括第一动态分配子单元,用于将所述可用带宽与所述子数据包的数据量进行比较,当确定所述可用带宽大于或等于每个所述子数据包数据量的n(n>1)倍时,将所述可用带宽划分为n个子信道,并由所述转发单元通过n个子信道并行转发所述数据包。

上述实施例中,在将所述数据包拆分费多个子数据包后,将所述子数据包与所述可用带宽进行比较,如果所述可用带宽大于或等于所述子数据包数据量的n(n>1)倍时,表面经过拆分之后,所述子数据包的数据量明显小于所述可用带宽,此时,如果直接按照所述可用带宽对所述子数据包进行转发,会造成信道资源的大量浪费,利用率较低,此时,通过将所述可用带宽划分为n个子信道,可用通过n个子信道并行发送所述子数据包,这样在保证所述子数据包能顺利转发的前提下,实现了信道带宽的充分利用,提高了网络资源的利用率。

优选地,如图10所示,在上述实施例中,所述动态分配单元还包括第二动态分配子单元,用于将所述子信道的带宽与所述子数据包的数据量进行比较;当确定所述子信道的带宽与所述子数据包的数据量满足预设条件时,缩小所述子信道的带宽,且保持所述子数据包的数据量不大于所述子信道的带宽,其中,所述预设条件为:所述子信道的带宽与所述子数据包的数据量之差与所述子信道的带宽的比值大于预设阈值。

当确定所述子信道的带宽与所述子数据包的数据量满足预设条件时,表明所述自信对的带宽对所述子数据包来说有富余,会有部分带宽没有利用,所以此时缩小所述子信道的带宽,不仅不会影响所述子数据包的转发,另一方面,还可以把缩小所述子信道时生成的剩余带宽作为转发子数据包或者其他数据信息的信道,这样可以对所述可用带宽进行充分利用,进一步提高网络资源的利用率。

当然,需要指出的是,这里的所述预设条件中,之所以要限定所述子信道的带宽与所述子数据包的数据量之差与所述子信道的带宽的比值大于预设阈,一方面是为了保证在缩小所述子信道的带宽时,缩小后的所述子信道的带宽不能小于所述子数据包的数据量,另一方面,是为了在不影响所述子数据包的转发前提下,将所述子信道中富余的带宽整合,并可以通过生成的剩余宽带作为转发子数据包或者他用。

优选地,如图10所示,在上述实施例中,所述动态分配单元还包括第三动态分配子单元,用于在所述第二动态分配子单元缩小所述子信道的带宽的同时生成剩余带宽,将所述剩余带宽与所示子信道带宽进行比较;当确定所述剩余带宽大于所述子信道带宽时,将所述剩余带宽按照缩小后的所述子信道带宽重新进行划分,生成至少一个额外子信道;并由所述转发单元将所述子数据包通过所述子信道和额外子信道并行发送。

这里,对所述子信道进行缩减带宽之后,会同时形成剩余带宽,此时,将所述剩余带宽与所示子信道带宽进行比较,如果所述剩余带宽大于所述子信道带宽时,则表明所述剩余带宽可以用来转发所述子数据包,所以将所述剩余带宽按照所述缩小后的子信道带宽重新进行划分,生成至少一个额外子信道,可以用来协助转发所述子数据包,这样可以加快所述子数据包的转发效率。

通过所述子信道和额外子信道并行发送所述子数据包,可以使得所述子数据包的转发效率大大提高,所述可用带宽的利用率大大提高,实现了网络资源的充分合理利用。

优选地,如图11所示,在上述实施例中,所述装置还包括反馈调节单元,用于在所述转发单元在预定时间内通过动态分配后的所述可用带宽依次转发多个所述子数据包后,在所述预定时间内,获取用户端的平均占用带宽,并将所述平均占用带宽与所述已占用带宽进行比较,当确定所述平均占用带宽大于所述已占用带宽的持续时长大于预设时间阈值,则按照先释放所述额外子信道,再释放所述子信道的顺序释放信道,以增加所述已占用带宽,直到所述平均占用带宽不大于增加后的所述已占用带宽。

在预定时间内,用户端会根据在先的数据请求通过所述已占用带宽进行数据信息传输,并且所述数据请求对应占用的带宽是会变化的,这里通过在所述预定时间内获取用户端的平均占用带宽,是为了检测所述数据请求对应占用带宽的情况,即平均占用带宽。

将所述平均占用带宽与所述已占用带宽进行比较,可以判定所述已占用带宽是否能够满足用户端在先数据信息请求的需求,如果所述平均占用带宽大于所述已占用带宽的持续时长大于预设时间阈值,说明所述已占用带宽已经不够用了,此时,需要把之前没有充分利用的所述额外子信道先增加给已占用带宽,如果还不够,进一步把部分子信道也增加给已占用带宽,这样确保所述已占用带宽的那部分能够满足用户在先的数据信息传输请求,如果删除所述额外子信道之后,所述平均占用带宽不大于所述已占用带宽,则无需继续删除所述子信道。

优选地,如图12所示,在上述实施例中,所述装置还包括数据列表单元,用于在对所述子数据转发之前,建立子数据包列表,并将所述子数据包对应的标识信息和id编号一一对应关联存储在所述子数据包列表中,当所述转发单元将子数据包通过所述可用带宽转发以后,从所述子数据包列表中删除所述子数据包对应的标识信息和id编号。

上述实施例中,通过所述建立所述子数据包列表,可用便于在子数据包转发过程中对所述数据包进行管理和监控,降低所述子数据包在转发过程中的出错几率,有效保证所述子数据包转发的准确性和完整性,同时便于在根据所述子数据包的数量合理调整所述可用带宽的分配情况。

优选地,如图13所示,在上述实施例中,所述装置还包括缓存单元和反馈跟踪单元,所述缓存单元用于在转发所述子数据包之前,将所述子数据包进行本地缓存,所述反馈跟踪单元用于在所述子数据包转发以后,检测在预设时间内是否收到接收端的反馈信息,当确定在预设时间内没有收到接收端的反馈信息时,从本地缓存中读取所述数据包,并将其对应的所述标识信息和id编号重新关联存入所述子数据包列表,并由所述转发单元进行重新转发。

上述实施例中,通过反馈跟踪单元检测在预设时间内是否收到接收端的反馈信息可以对所述子数据包的转发进程进行跟踪,并在所述子数据包转发出现异常时通过缓存单元进行本地缓存,再由所述转发单元实现重新转发,同时利用所述子数据包列表来进行监控,确保所述子数据包转发成功。

读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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