数据接收流量控制方法及其系统的制作方法_4

文档序号:8415529阅读:来源:国知局
块70更新所述受控实体对应的接收令牌桶的令牌数的步骤可以通过上面记载的更新方法实现,即获取当前时间以及所述接收令牌桶最近一次更新令牌数的时间,根据上述两个时间的差值与令牌生成速率的乘积,计算出新增的令牌数,将所述新增的令牌数加上最近一次更新令牌数时的原有令牌数,从而获得当前时间的令牌数。
[0144]所述接收处理模块80根据所述接收令牌桶的令牌数执行所述报文的接收处理。在一个实施例中处理的方式为:
[0145]判断更新后的所述接收令牌桶的令牌数是否大于所述报文的长度,如果大于,则将所述接收令牌桶的令牌数减去所述报文的长度,然后将所述报文交给对应的受控实体;否则,对所述报文进行丢包处理。
[0146]S卩,判断token数量是否大于等于报文长度。如果token数量不足,则将该报文标记为红色,进行相应的处理,一般为丢包。报文处理结束。
[0147]如果token数量大于等于报文长度,则从token里面扣掉报文长度,把报文交还给原有处理流程。
[0148]本发明的数据接收流量控制系统与接收端的主动丢包处理技术结合,将主动丢包的数量从15%降到了不到1%,从而大大减少了主动丢包带来的负面效果,并且使速率控制更准确,更平滑。
[0149]本领域普通技术人员可以理解实现上述实施方式中的全部或部分流程,以及对应的系统,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施方式的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory, RAM)等。
[0150]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种数据接收流量控制方法,其特征在于,包括以下步骤: 获取向对端发出的待发送报文; 确定本地发出所述待发送报文的受控实体,获取所述受控实体对应的接收令牌桶的令牌数; 根据所述接收令牌桶的令牌数设置所述待发送报文中的通知窗口大小字段,调整通知窗口大小; 将调整通知窗口大小之后的所述待发送报文发送给对端。
2.如权利要求1所述的数据接收流量控制方法,其特征在于,确定发出所述待发送报文的受控实体的步骤包括: 获取所述待发送报文中的接收实体标记字段,根据所述接收实体标记字段确定发出所述待发送报文的受控实体; 和/或, 根据所述待发送报文的上下文信息,确定发出所述待发送报文的受控实体。
3.如权利要求1所述的数据接收流量控制方法,其特征在于,根据所述接收令牌桶的令牌数设置所述待发送报文中的通知窗口大小字段的步骤包括: 根据所述接收令牌桶的令牌数,计算所述令牌数的预设单调递增函数的取值,根据所述单调递增函数的取值设置待发送报文中的通知窗口大小字段。
4.如权利要求3所述的数据接收流量控制方法,其特征在于,根据所述接收令牌桶的令牌数,计算所述令牌数的预设单调递增函数的取值的步骤包括: 根据所述接收令牌桶中的令牌数以及所述接收令牌桶的令牌深度,按照下式计算所述单调递增函数的取值:new_wnd=window*g(token, depth) 其中,g(token, depth) =token/depth, token为所述接收令牌桶的令牌数,depth为所述接收令牌桶的令牌深度,window为所述通知窗口的最大值。
5.如权利要求4所述的数据接收流量控制方法,其特征在于,计算出所述通知窗口大小字段的取值之后,进一步包括以下步骤: 将所述通知窗口大小字段的取值对齐到TCP的最大分段长度的整数倍。
6.如权利要求4所述的数据接收流量控制方法,其特征在于,计算出所述通知窗口大小字段的取值之后,进一步包括以下步骤: 如果计算得到的通知窗口大小字段的取值为0,则将所述通知窗口大小字段的取值设置为等于TCP的最大分段长度。
7.如权利要求1至6任意一项所述的数据接收流量控制方法,其特征在于,还包括以下步骤: 接收对端发送的报文; 查找接收所述报文的受控实体; 更新所述受控实体对应的接收令牌桶的令牌数; 根据所述接收令牌桶的令牌数执行所述报文的接收处理。
8.如权利要求7所述的数据接收流量控制方法,其特征在于,根据所述接收令牌桶的令牌数执行所述报文的接收处理的步骤包括: 判断更新后的所述接收令牌桶的令牌数是否大于所述报文的长度,如果大于,则将所述接收令牌桶的令牌数减去所述报文的长度,然后将所述报文交给对应的受控实体;否则,对所述报文进行丢包处理。
9.一种数据接收流量控制系统,其特征在于,包括: 发送报文获取模块,用于获取向对端发出的待发送报文; 令牌数获取模块,用于确定本地发出所述待发送报文的受控实体,获取所述受控实体对应的接收令牌桶的令牌数; 通知窗口调整模块,用于根据所述接收令牌桶的令牌数设置所述待发送报文中的通知窗口大小字段,调整通知窗口大小; 发送模块,用于将调整通知窗口大小之后的所述待发送报文发送给对端。
10.如权利要求9所述的数据接收流量控制系统,其特征在于: 所述令牌数获取模块获取所述待发送报文中的接收实体标记字段,根据所述接收实体标记字段确定发出所述待发送报文的受控实体; 和/或, 所述令牌数获取模块根据所述待发送报文的上下文信息,确定发出所述待发送报文的受控实体。
11.如权利要求9所述的数据接收流量控制系统,其特征在于: 所述通知窗口调整模块根据所述接收令牌桶的令牌数,计算所述令牌数的预设单调递增函数的取值,根据所述单调递增函数的取值设置待发送报文中的通知窗口大小字段。
12.如权利要求11所述的数据接收流量控制系统,其特征在于: 所述通知窗口调整模块根据所述接收令牌桶中的令牌数以及所述接收令牌桶的令牌深度,按照下式计算所述单调递增函数的取值:new_wnd=window*g(token, depth) 其中,g(token, depth) =token/depth, token为所述接收令牌桶的令牌数,depth为所述接收令牌桶的令牌深度,window为所述通知窗口的最大值。
13.如权利要求12所述的数据接收流量控制系统,其特征在于: 所述通知窗口调整模块还用于在计算出所述通知窗口大小字段的取值之后,将所述通知窗口大小字段的取值对齐到TCP的最大分段长度的整数倍。
14.如权利要求12所述的数据接收流量控制系统,其特征在于: 所述通知窗口调整模块还用于在计算出所述通知窗口大小字段的取值之后,如果计算得到的通知窗口大小字段的取值为0,则将所述通知窗口大小字段的取值设置为等于TCP的最大分段长度。
15.如权利要求9至14任意一项所述的数据接收流量控制系统,其特征在于,所述数据接收流量控制系统还包括: 接收模块,用于接收对端发送的报文; 查找模块,用于查找接收所述报文的受控实体; 更新模块,用于更新所述受控实体对应的接收令牌桶的令牌数; 接收处理模块,用于根据所述接收令牌桶的令牌数执行所述报文的接收处理。
16.如权利要求15所述的数据接收流量控制系统,其特征在于: 所述接收处理模块判断更新后的所述接收令牌桶的令牌数是否大于所述报文的长度,如果大于,则将所述接收令牌桶的令牌数减去所述报文的长度,然后将所述报文交给对应的受控实体;否则,对所述报文进行丢包处理。
【专利摘要】本发明提供一种数据接收流量控制方法及其系统,包括获取向对端发出的待发送报文;确定本地发出所述待发送报文的受控实体,获取所述受控实体对应的接收令牌桶的令牌数;根据所述接收令牌桶的令牌数设置所述待发送报文中的通知窗口大小字段,调整通知窗口大小;将调整通知窗口大小之后的所述待发送报文发送给对端。通过根据所述接收令牌桶的令牌数设置发送到对端的报文中的通知窗口大小,因此,发送端发送数据的速率受到所述通知窗口的限制,减少发送端发送速率超过接收令牌桶的令牌生成速率的情况。通过发送端主动减少发送速率来降低接收端的主动丢包,减少数据丢包和重传,提高数据传输的带宽利用率。
【IPC分类】H04L12-807, H04L12-819
【公开号】CN104734985
【申请号】CN201310717514
【发明人】洪志国
【申请人】腾讯数码(天津)有限公司
【公开日】2015年6月24日
【申请日】2013年12月23日
【公告号】WO2015096692A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1