CN112104568A - 一种数据传输控制方法及网关 - Google Patents
一种数据传输控制方法及网关 Download PDFInfo
- Publication number
- CN112104568A CN112104568A CN202011287772.XA CN202011287772A CN112104568A CN 112104568 A CN112104568 A CN 112104568A CN 202011287772 A CN202011287772 A CN 202011287772A CN 112104568 A CN112104568 A CN 112104568A
- Authority
- CN
- China
- Prior art keywords
- token
- service
- token bucket
- gateway
- bucket group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据传输控制方法及网关。该方法应用于网关,所述网关中至少配置有第一业务和第二业务,所述第一业务关联第一令牌桶组,所述第二业务关联第二令牌桶组,所述第一令牌桶组和所述第二令牌桶组共享至少一个令牌桶,所述方法包括:接收第一业务的报文;获取所述第一业务关联的所述第一令牌桶组;从所述第一令牌桶组的第一令牌桶中获取令牌,所述第一令牌桶是所述第一令牌桶组和所述第二令牌桶组共享的令牌桶;若从第一令牌桶中获取到令牌,则将所述第一业务的报文发送给所述第一业务对应的服务器。该方法提高了数据传输控制的合理性,也提高了网关资源的利用率。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种数据传输控制方法及网关。
背景技术
网关的使用场景中,实现控制数据传输的通用方法是为每个业务创建对应的令牌桶。根据业务的每秒请求数(Query Per Second,QPS),令牌桶以设定的速率产生令牌。QPS的请求阈值(比如限流配额)是根据业务数据传输峰值确定的。网关接收到业务的访问请求后,若从该业务对应的令牌桶中获取到令牌,则该业务的访问请求得到响应,否则该业务的访问请求不被响应。
然而,同一业务的数据传输峰值和平时数据传输值会相差数倍甚至数十倍,且不同业务的峰值时刻可能不同。因此,上述方法导致整体业务的QPS的请求阈值的利用率较低。
因此,提高数据传输控制的合理性,提高网关资源的利用率,是目前亟待解决的问题。
发明内容
本公开提供一种数据传输控制方法及网关,以在业务隔离场景中提高资源的利用率。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据传输控制方法,应用于网关,所述网关中至少配置有第一业务和第二业务,所述第一业务关联第一令牌桶组,所述第二业务关联第二令牌桶组,所述第一令牌桶组和所述第二令牌桶组共享至少一个令牌桶;所述方法包括:
接收所述第一业务的报文;
获取所述第一业务关联的所述第一令牌桶组;
从所述第一业务关联的所述第一令牌桶组的第一令牌桶中获取令牌,所述第一令牌桶是所述第一令牌桶组和所述第二令牌桶组共享的令牌桶;
若从所述第一令牌桶中获取到令牌,则将所述第一业务的报文发送给所述第一业务对应的服务器。
本公开的一些实施例中,所述从所述第一业务关联的令牌桶组的令牌桶中获取令牌,包括:
按照所述第一业务关联的所述第一令牌桶组中令牌桶的排列顺序,从第一个令牌桶中获取令牌,若获取失败,则从下一个令牌桶中获取令牌,直到获取到令牌为止或者直到从最后一个令牌桶获取令牌失败为止。
本公开的一些实施例中,若从所述第一令牌桶组的令牌桶获取令牌失败,则通过以下方式处理所述第一业务的报文:
丢弃所述第一业务的报文;或者
将所述第一业务的报文存储于队列中,等待设定的时长后重新从所述第一业务关联的所述第一令牌桶组中获取令牌;或者
为所述第一业务的报文标记通行标识,并将带有通行标识的所述第一业务的报文发送给所述第一业务对应的服务器,所述通行标识用于指示服务器在超过网络负荷时丢弃所述报文。
本公开的一些实施例中,所述第一令牌桶组和所述第二令牌桶组不完全相同。
本公开的一些实施例中,所述第一业务所关联的所述第一令牌桶组以及所述第二业务所关联的所述第二令牌桶组中的令牌桶数量相同。
本公开的一些实施例中,所述第一业务所关联的所述第一令牌桶组中的令牌桶产生令牌的速率相同。
本公开的一些实施例中,所述第一业务所关联的所述第一令牌桶组中的令牌桶产生令牌的速率,是根据所述第一业务的平均请求阈值或最低请求阈值确定的。
本公开的一些实施例中,所述方法还包括:
所述第一业务接入所述网关时,从预先设置的令牌桶中随机选择至少一个令牌桶生成令牌桶组;
判断生成的令牌桶组是否与已接入业务所关联的令牌桶组相同,若是,则重新随机选择至少一个令牌桶生成令牌桶组,直至生成的令牌桶组与已接入业务所关联的令牌桶组不完全相同,否则,将生成的令牌桶组与所述第一业务关联。
根据本公开实施例的第二方面,提供一种网关,所述网关中至少配置有第一业务和第二业务,所述第一业务关联第一令牌桶组,所述第二业务关联第二令牌桶组,所述第一令牌桶组和所述第二令牌桶组共享至少一个令牌桶;
所述网关,包括:
接收模块,被配置为接收所述第一业务的报文;
获取模块,被配置为获取所述第一业务关联的所述第一令牌桶组,从所述第一业务关联的所述第一令牌桶组的第一令牌桶中获取令牌,所述第一令牌桶是所述第一令牌桶组和所述第二令牌桶组共享的令牌桶;
控制模块,被配置为若从所述第一令牌桶中获取到令牌,则将所述第一业务的报文发送给所述第一业务对应的服务器。
根据本公开实施例的第三方面,提供一种网关,包括:
处理器;
存储器,用于存储所述处理器可执行指令;
其中,所述处理器被配置为执行所述指令,以实现本公开实施例的数据传输控制方法。
根据本公开实施例的第四方面,提供一种非易失性可读存储介质,当所述非易失性可读存储介质中的指令由网关的处理器执行时,使得所述网关能够执行本公开实施例的第一方面中任一项所述的数据传输控制方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得计算机执行本公开实施例的第一方面中任一所述的数据传输控制方法。
本公开的上述实施例中,一方面,网关中至少配置有第一业务和第二业务,第一业务关联第一令牌桶组,第二业务关联第二令牌桶组,第一令牌桶组和第二令牌桶组共享至少一个令牌桶,从而通过不同业务之间部分共享令牌桶实现共享部分数据传输资源,提高了资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的传统网关中数据传输控制方法的原理图;
图2是根据一示例性实施例示出的网关中通过令牌桶控制数据传输的原理图;
图3是根据一示例性实施例示出的本公开的网关中数据传输控制方法的原理图;
图4是根据一示例性实施例示出的令牌桶组中令牌桶数量相同时数据传输控制方法的原理图;
图5是根据一示例性实施例示出的令牌桶组的结构示意图;
图6是根据一示例性实施例示出的本公开的网关实现业务隔离方法的流程图;
图7是根据一示例性实施例示出的本公开从令牌桶组中获取令牌的流程图;
图8是根据一示例性实施例示出的一种网关的功能框图;
图9是根据一示例性实施例示出的一种网关的硬件结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了保证后端服务器不被突增的业务请求量击垮,使后端服务器最大限度的接收其可承受的最大数据,一种方法是在后端服务器前增加网关。网关为每个业务创建对应的令牌桶,从而实现不同业务隔离。图1示出了在传统方式中,采用网关进行数据传输控制的示意图。
如图1所示,网关为接入的每个业务创建对应的令牌桶,比如如图中所示,分别为A业务至X业务创建A业务令牌桶、B业务令牌桶、C业务令牌桶,…,X业务令牌桶。每个令牌桶按照一定的速率生成令牌,具体地,可以根据各业务QPS为各业务分配请求阈值(也称为数据传输配额、流量配额或限流配额),根据各业务的请求阈值设置各业务对应的令牌桶生成令牌的速率。
以图1中的A业务令牌桶为例,图2是根据一示例性实施例示出的网关中通过令牌桶控制数据传输的原理图。如图所示,网关中A业务令牌桶以设定的速率产生令牌。网关接收到A业务的访问请求,根据A业务的访问请求从A业务令牌桶中取令牌,若从A业务令牌桶取到令牌,则A业务的访问请求的数据被传输,网关将A业务的访问请求路由至A服务器,A服务器响应A业务的访问请求;若未从A业务令牌桶中取到令牌,则A业务的访问请求的数据不被传输,网关向该业务请求的方式端设备返回请求失败的提示信息。
实际应用中,同一业务数据传输峰值和平时数据传输值可能相差数倍甚至数十倍,不同业务的峰值时刻可能不同。若采用上述方法进行数据传输控制,则令牌的利用率较低。
为解决上述问题,本公开的实施例提供一种数据传输控制方法以及网关。在实现业务隔离的基础上,尤其是在业务数据传输错峰的实际场景下,通过对令牌桶的局部共享,在不影响各个业务数据传输总额的情况下,提高数据传输控制的合理性,提高资源利用率。
下面结合附图详细描述本公开的实施例。
图3是根据一示例性实施例示出的网关中数据传输控制方法的原理图。如图3所示,本公开实施例中,改变业务与令牌桶间一对一的映射关系,网关中配置有A业务至X业务共N个业务,N为大于1的整数。分别为A业务至X业务创建对应的令牌桶组,如图中所示,A业务与A业务令牌桶组关联,B业务与B业务令牌桶组关联,以此类推。
每个令牌桶组中包括至少一个令牌桶,至少一个令牌桶组中的令牌数量为两个或两个以上。
每个令牌桶组中的令牌桶不同,令牌桶可用编号唯一标识。
不同业务关联的令牌桶组不同。其中,若两个令牌桶组包含的令牌桶的数量不同,则该两个令牌桶组不同;或者,若一个令牌桶组中有一个或多个令牌桶的编号与另一个令牌桶组中的令牌桶的编号不同,则这两个令牌桶组不同。
该N个令牌桶组中,每个业务关联的令牌桶组中的令牌桶不完全相同,即不同令牌桶组中的令牌桶全部或部分不同,也就是说,该N个令牌桶组中,至少一个令牌桶组中的部分令牌桶与另外至少一个令牌桶组中的令牌桶相同。也就是说,N个令牌桶组中至少有两个令牌桶组所包含的令牌桶部分相同。
举例来说,M业务关联的令牌桶组中令牌桶的编号为{1,3}, N业务关联的令牌桶组中令牌桶的编号为{2,3},M业务关联的令牌桶组中的令牌桶3与N业务关联的令牌桶组中令牌桶3相同,但M业务关联的令牌桶组和N业务关联的令牌桶组不同。再比如,M业务关联的令牌桶组的令牌桶的编号为{1,3},O业务关联的令牌桶组的令牌桶的编号为{1,2,3},M业务关联的令牌桶组中的令牌桶1和令牌桶3与O业务关联的令牌桶组中令牌桶1和令牌桶3相同,但M业务关联的令牌桶组和O业务关联的令牌桶组不同。再比如,M业务关联的令牌桶组的令牌桶的编号为{1,3},P业务关联的令牌桶组的令牌桶的编号为{7,8},M业务关联的令牌桶组中的令牌桶与P业务关联的令牌桶组中令牌桶全部不相同,M业务关联的令牌桶组和P业务关联的令牌桶组不同。
本公开实施例中,每个令牌桶组中的令牌桶生成令牌的速率相同。令牌桶生成令牌的速率可以预先配置,令牌桶生成令牌的速率可根据各业务的QPS或请求阈值来设置。
在一些实施例中,令牌桶生成令牌的速率,可以根据上述N个业务的平均请求阈值或QPS来设置;在另一些实施例中,令牌桶生成令牌的速率也可以根据上述N个业务中的最低的请求阈值或QPS来设置。
其中,一个业务的请求阈值可以根据业务优先级来设置,比如优先级高的业务分配有较大的请求阈值,优先级低的业务分配较低的请求阈值。一个业务的请求阈值也可以根据该业务的访问量统计数据来确定,比如访问量较大或较频繁的业务可以分配较大的请求阈值,访问量较小或不频繁的业务可以分配较小的请求阈值。
在一些实施例中,每个业务所关联的令牌桶组中的令牌桶的数量相同。图4以每个令牌桶组包含4个令牌桶为例,示出了网关中数据传输控制方法的原理图。
在另一些实施例中,上述N个令牌桶组中,至少有两个业务所关联的令牌桶组中的令牌桶的数量不同。
为了提高数据传输控制的合理性,提高资源的利用率,本公开的一些实施例中,可根据一个业务的请求阈值或QPS来确定该业务所关联的令牌桶组中的令牌桶数量。
举例来说,A业务和B业务为网关中配置的两个业务,A业务的请求阈值高于B业务的请求阈值,则A业务所关联的令牌桶组中的令牌桶数量大于B业务关联的令牌桶组中的令牌桶数量。
再例如,A业务和B业务为网关中配置的两个业务,A业务的QPS高于B业务的QPS,则A业务所关联的令牌桶组中的令牌桶数量大于B业务关联的令牌桶组中的令牌桶数量。
下面结合图5,以每个令牌桶组中包含4个令牌桶为例,说明本公开实施例提供的令牌桶组分配过程。
本公开的实施例中,可预先设置H个令牌桶(H为大于2的整数),每个令牌桶对应1个编号。以网关中预先设置32个令牌桶、每个业务对应的令牌桶组中包括4个令牌桶为例,图5示例性示出了一种令牌桶组分配示意图。
如图5所示,网关为A业务~X业务创建的令牌桶组中均包含4个令牌桶,A业务关联的令牌桶组中包括编号为1、3、5、6的令牌桶,B业务关联的令牌桶组中包括编号为2、3、4、31的令牌桶…,X业务关联的令牌桶组中包括编号为4、6、7、32的令牌桶。
可以看出,A业务关联的令牌桶组和B业务关联的令牌桶组中均包含编号为3的令牌桶,A业务关联的令牌桶组和X业务关联的令牌桶组中均包含编号为6的令牌桶,B业务关联的令牌桶组和X业务关联的令牌桶组中均包含编号为4的令牌桶,即,A业务关联的令牌桶组和B业务关联的令牌桶组中的部分令牌桶相同,即令牌桶存在交集,从而可以实现A业务和B业务的数据传输资源部分共享。同理,A业务关联的令牌桶组和X业务关联的令牌桶组中的部分令牌桶相同,即令牌桶存在交集,从而可以实现A业务和X业务的数据传输资源部分共享。同理,B业务关联的令牌桶组和X业务关联的令牌桶组中的部分令牌桶相同,即令牌桶存在交集,从而可以实现A业务和X业务的数据传输资源部分共享。
本公开的实施例中,与传统网关相比,利用较少的令牌桶便可支持较多的业务,网
关中令牌桶的总请求阈值小于所有接入业务的请求阈值的总和,提升了网关的资源利用
率。如图5示出的,网关内设置了32个令牌桶,每个业务关联的令牌桶组包括4个令牌桶,该
网关支持的接入业务的数量为=71920个。若每个令牌桶的请求阈值为100qps,则网关
的总请求阈值为3200qps,每个业务的请求阈值为400qps,所有业务的请求阈值的总和为
71920*400qps,大于网关的总请求阈值。进一步的,利用业务之间的数据传输峰值错峰和数
据传输峰值大于平时数据传输值便可提升业务的资源利用率。
值得说明的是,图4~图5仅是一种示例,A业务~X业务关联的令牌桶组中包括的令牌桶的个数可以不同。
在本公开的一些实施例中,网关检测到有新接入业务后,从预先设置的令牌桶中随机选择至少一个令牌桶生成令牌桶组,判断生成的令牌桶组是否与已接入业务所关联的令牌桶组相同,若是,则重新随机选择至少一个令牌桶生成令牌桶组,直至生成的令牌桶组与已接入业务所关联的令牌桶组不同,否则,将生成的令牌桶组与新业务关联。其中,新业务关联的令牌桶组中的令牌桶数与已接入业务关联的令牌桶组中的令牌桶数可以相同,也可以不同。
需说明的是,本公开为新接入业务生成令牌桶组时选择令牌桶的方式不做限制性描述,可以随机选取,也可以按顺序选取,比如按令牌编号顺序选取至少一个令牌桶生成令牌桶组。
本公开的上述实施例中,一方面,改变了业务与令牌桶一对一的映射关系,提出令牌桶组的概念,另一方面,网关中配置的N个业务所关联的令牌桶组中,每个业务关联的令牌桶组中的令牌桶不完全相同,即至少一个令牌桶组中的部分令牌桶与另外至少一个令牌桶组中的令牌桶相同,通过不同业务之间共享部分令牌桶实现共享部分数据传输资源,提高了网关资源的利用率。
根据上述一个或多个实施例提供的网关中业务所配置的令牌桶组,下面以具体实施例详细描述网关实现数据传输控制的流程。该流程以网关接收到第一业务的请求报文为例描述,其中,第一业务关联第一令牌桶组,第二业务关联第二令牌桶组,第一业务和第二业务为网关中配置的N个业务中的任一业务。
参见图6,该方法包括以下步骤:
在S601中,网关接收第一业务的报文。
其中,该报文携带网络应用层载荷,通过深度报文检测(Deep PacketInspection,DPI)技术,识别得到该报文所属的业务。本实施例中,以网关检测到该报文为第一业务的报文为例描述。
DPI是一种基于数据包的深度检测技术,针对不同的网络应用层载荷进行深度检测,通过对报文的有效载荷检测决定其合法性,从而识别出报文对应的业务流。其中,网络应用层载荷可以包括超文本传输协议(HyperText Transfer Protocol ,HTTP)的载荷、域名系统(Domain Name System,DNS)的载荷等。
在S602中,网关获取第一业务关联的第一令牌桶组。
其中,网关根据该报文所属的第一业务,获取第一业务所关联的第一令牌桶组。
在S603中,网关从第一业务关联的第一令牌桶组的第一令牌桶中获取令牌。
其中,第一令牌桶是第一令牌桶组和第二令牌桶组共享的令牌桶。
在S604中,网关若从第一令牌桶获取到令牌,则将第一业务的报文发送给第一业务对应的服务器。
在一些实施例中,网关可按照第一业务关联的第一令牌桶组中令牌桶的排列顺序,从第一个令牌桶中获取令牌,若获取成功,则第一业务的数据被传输,若获取失败,则从下一个令牌桶中获取令牌,以此类推,直到获取到令牌为止或者直到从最后一个令牌桶获取令牌失败为止。图7示例性示出了一种获取令牌桶的流程。
在另一些实施例中,网关也可随机从第一业务关联的第一令牌桶组的令牌桶中获取令牌。如果从当前令牌桶中获取令牌成功,则执行S604,若从当前令牌桶中获取令牌失败,则从其余尚未遍历的令牌桶中随机选取一个从中获取令牌,以此类推,直到获取到令牌为止或者直到从最后一个令牌桶获取令牌失败为止。
在一些实施例中,在第一令牌桶组的令牌桶中取到令牌,表明第一业务关联的第一令牌桶组的请求阈值未达到阈值,第一业务的报文可以被传输,网关将第一业务的报文发送给第一业务对应的服务器,由第一业务对应的服务器处理该报文。
若从第一令牌桶组的所有令牌桶未取到令牌,则表明第一业务关联的令牌桶组的请求阈值达到阈值,第一业务的报文应被限制传输。网关可通过以下至少一种方式处理第一业务的报文:
(1)丢弃第一业务的报文,返回数据传输失败信息给该报文的发送端设备。数据传输失败信息中可包括数据传输失败原因,数据传输失败的原因可用状态码表示。不同的数据传输失败原因可对应不同的状态码。
(2)将该报文存储于队列中,等待设定的时长后,从该队列中获取该报文,从该报文所关联的令牌桶组中获取令牌,若取到令牌,则将该报文转发至对应的服务器。其中,该队列可采用先入先出机制。
(3)为该报文标记通行标识,并将带有通行标识的第一业务的报文发送给第一业务对应的服务器,通行标识用于指示服务器在超过网络负荷时丢弃该报文。
本公开的一些实施例中,以第一业务为A业务为例,A业务关联的令牌桶组中令牌桶的编号为1、3、5、6,从令牌桶组中获取令牌的过程参见图7。如图7所示,该流程包括以下几步:
在S701中,网关接收到A业务的报文。
在S702中,网关根据接收的报文,从A业务关联的令牌桶组中的令牌桶1中获取令牌。
在S703中,网关从令牌桶1获取到令牌,将A业务的报文转发至A服务器。
在S704中,网关从令牌桶1中未获取到令牌,则从令牌桶3中获取令牌,若从令牌桶3中获取到令牌,则执行S703。
在S705中,网关从令牌桶3中未获取到令牌,则从令牌桶5中获取令牌,若从令牌桶5中获取到令牌,则执行S703。
在S706中,网关从令牌桶5中未获取到令牌,则从令牌桶6中获取令牌,若从令牌桶6中获取到令牌,则执行S703。
在S707中,网关从令牌桶6中未获取到令牌,则将A业务的报文丢弃。
本公开的上述实施例中,网关中至少配置有第一业务和第二业务,第一业务关联第一令牌桶组,第二业务关联第二令牌桶组,第一令牌桶组和第二令牌桶组中的令牌桶不完全相同,第一令牌桶组和第二令牌桶组共享至少一个令牌桶,也就是说,至少一个令牌桶组中的部分令牌桶与另外至少一个令牌桶组中的令牌桶相同,一方面,通过不同业务之间共享部分令牌桶实现共享部分数据传输资源,提高了资源的利用率,另一方面,使得第一业务的数据未被传输时,网络瘫痪会内聚在局部范围内,N个业务中与第一业务关联的第一令牌桶组中令牌桶完全不同的业务不受影响,从而保证不同业务之间的业务隔离,提高了数据传输控制的合理性。
举例来说,A业务的请求数达到请求阈值,表明A业务关联的令牌桶组a中没有可分给A业务的令牌,若B业务关联的令牌桶组b中至少有一个令牌桶与令牌桶组a中的令牌桶不同,此时只会限制B业务的部分请求,若业务C关联的令牌桶组c中的令牌桶与令牌桶组a中的令牌桶完全不同,则C业务请求不受A业务的影响。
基于相同的技术构思,本申请实施例提供了一种网关,该网关可实现上述实施例中的功能。
图8是根据一示例性实施例示出的一种网关的结构框图。该网关中至少配置有第一业务和第二业务,第一业务关联第一令牌桶组,第二业务关联第二令牌桶组,第一令牌桶组和第二令牌桶组共享至少一个令牌桶,第一业务和第二业务为网关中配置的N个业务中的任一业务。参照图8,该网关包括接收模块801,获取模块802和控制模块803。
接收模块801,被配置为接收第一业务的报文;
获取模块802,被配置为获取第一业务关联的第一令牌桶组,从第一业务关联的第一令牌桶组的第一令牌桶中获取令牌,第一令牌桶是第一令牌桶组和第二令牌桶组共享的令牌桶;
控制模块803,被配置为若从第一令牌桶组中获取到令牌,则将第一业务的报文发送给第一业务对应的服务器。
本公开的一些实施例中,获取模块802,具体被配置为:
按照第一业务关联的第一令牌桶组中令牌桶的排列顺序,从第一个令牌桶中获取令牌,若获取失败,则从下一个令牌桶中获取令牌,直到获取到令牌为止或者直到从最后一个令牌桶获取令牌失败为止。
本公开的一些实施例中,获取模块802,具体被配置为:
若从第一令牌桶组的令牌桶获取令牌失败,则通过以下方式处理所述第一业务的报文:
丢弃第一业务的报文;或者
将第一业务的报文存储于队列中,等待设定的时长后重新从第一业务关联的第一令牌桶组中获取令牌;或者
为第一业务的报文标记通行标识,并将带有通行标识的第一业务的报文发送给第一业务对应的服务器,通行标识用于指示服务器在超过网络负荷时丢弃报文。
本公开的一些实施例中,第一令牌桶组和第二令牌桶组不完全相同。
本公开的一些实施例中,第一业务所关联的第一令牌桶组以及第二业务所关联的第二令牌桶组中的令牌桶数量相同。
本公开的一些实施例中,第一业务所关联的第一令牌桶组中的令牌桶产生令牌的速率相同。
本公开的实施例中,第一业务所关联的第一令牌桶组中的令牌桶产生令牌的速率,是根据第一业务的平均请求阈值或最低请求阈值确定的。
本公开的实施例中,还包括生成模块、关联模块;
生成模块,用于第一业务接入网关时,从预先设置的令牌桶中随机选择至少一个令牌桶生成令牌桶组;
关联模块,用于判断生成的令牌桶组是否与已接入业务所关联的令牌桶组相同,若是,则重新随机选择至少一个令牌桶生成令牌桶组,直至生成的令牌桶组与已接入业务所关联的令牌桶组不完全相同,否则,将生成的令牌桶组与第一业务关联。
关于上述实施例中的网关,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种网关的硬件结构图。该网关包括处理器901、存储器902,存储器902用于存储处理器901可执行指令,处理器901被配置为执行存储器902存储的指令。
在示例性实施例中,还提供了一种包括指令的非易失性可读存储介质,例如包括指令的存储器902,上述指令可由网关的处理器901执行以完成上述方法。可选地,非易失性可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,计算机程序产品在被计算机调用时,使得计算机执行本公开实施例的上述方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (17)
1.一种数据传输控制方法,应用于网关,其特征在于,所述网关中至少配置有第一业务和第二业务,所述第一业务关联第一令牌桶组,所述第二业务关联第二令牌桶组,所述第一令牌桶组和所述第二令牌桶组共享至少一个令牌桶;
所述方法包括:
接收所述第一业务的报文;
获取所述第一业务关联的所述第一令牌桶组;
从所述第一业务关联的所述第一令牌桶组的第一令牌桶中获取令牌,所述第一令牌桶是所述第一令牌桶组和所述第二令牌桶组共享的令牌桶;
若从所述第一令牌桶中获取到令牌,则将所述第一业务的报文发送给所述第一业务对应的服务器。
2.如权利要求1所述的方法,其特征在于,所述从所述第一业务关联的令牌桶组的令牌桶中获取令牌,包括:
按照所述第一业务关联的所述第一令牌桶组中令牌桶的排列顺序,从第一个令牌桶中获取令牌,若获取失败,则从下一个令牌桶中获取令牌,直到获取到令牌为止或者直到从最后一个令牌桶获取令牌失败为止。
3.如权利要求2所述的方法,其特征在于,若从所述第一令牌桶组的令牌桶获取令牌失败,则通过以下方式处理所述第一业务的报文:
丢弃所述第一业务的报文;或者
将所述第一业务的报文存储于队列中,等待设定的时长后重新从所述第一业务关联的所述第一令牌桶组中获取令牌;或者
为所述第一业务的报文标记通行标识,并将带有通行标识的所述第一业务的报文发送给所述第一业务对应的服务器,所述通行标识用于指示服务器在超过网络负荷时丢弃所述报文。
4.如权利要求1所述的方法,其特征在于,所述第一令牌桶组和所述第二令牌桶组不完全相同。
5.如权利要求1所述的方法,其特征在于,所述第一业务所关联的所述第一令牌桶组以及所述第二业务所关联的所述第二令牌桶组中的令牌桶数量相同。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述第一业务所关联的所述第一令牌桶组中的令牌桶产生令牌的速率相同。
7.如权利要求6所述的方法,其特征在于,所述第一业务所关联的所述第一令牌桶组中的令牌桶产生令牌的速率,是根据所述第一业务的平均请求阈值或最低请求阈值确定的。
8.如权利要求1所述的方法,其特征在于,还包括:
所述第一业务接入所述网关时,从预先设置的令牌桶中随机选择至少一个令牌桶生成令牌桶组;
判断生成的令牌桶组是否与已接入业务所关联的令牌桶组相同,若是,则重新随机选择至少一个令牌桶生成令牌桶组,直至生成的令牌桶组与已接入业务所关联的令牌桶组不完全相同,否则,将生成的令牌桶组与所述第一业务关联。
9.一种网关,其特征在于,所述网关中至少配置有第一业务和第二业务,所述第一业务关联第一令牌桶组,所述第二业务关联第二令牌桶组,所述第一令牌桶组和所述第二令牌桶组共享至少一个令牌桶;
所述网关,包括:
接收模块,被配置为接收所述第一业务的报文;
获取模块,被配置为获取所述第一业务关联的所述第一令牌桶组,从所述第一业务关联的所述第一令牌桶组的第一令牌桶中获取令牌,所述第一令牌桶是所述第一令牌桶组和所述第二令牌桶组共享的令牌桶;
控制模块,被配置为若从所述第一令牌桶中获取到令牌,则将所述第一业务的报文发送给所述第一业务对应的服务器。
10.如权利要求9所述的网关,其特征在于,所述获取模块,具体被配置为:
按照所述第一业务关联的所述第一令牌桶组中令牌桶的排列顺序,从第一个令牌桶中获取令牌,若获取失败,则从下一个令牌桶中获取令牌,直到获取到令牌为止或者直到从最后一个令牌桶获取令牌失败为止。
11.如权利要求10所述的网关,其特征在于,若从所述第一令牌桶组的令牌桶获取令牌失败,则通过以下方式处理所述第一业务的报文:
丢弃所述第一业务的报文;或者
将所述第一业务的报文存储于队列中,等待设定的时长后重新从所述第一业务关联的所述第一令牌桶组中获取令牌;或者
为所述第一业务的报文标记通行标识,并将带有通行标识的所述第一业务的报文发送给所述第一业务对应的服务器,所述通行标识用于指示服务器在超过网络负荷时丢弃所述报文。
12.如权利要求9所述的网关,其特征在于,所述第一令牌桶组和所述第二令牌桶组不完全相同。
13.如权利要求9所述的网关,其特征在于,所述第一业务所关联的所述第一令牌桶组以及所述第二业务所关联的所述第二令牌桶组中的令牌桶数量相同。
14.如权利要求9-13中任一项所述的网关,其特征在于,所述第一业务所关联的所述第一令牌桶组中的令牌桶产生令牌的速率相同。
15.如权利要求14所述的网关,其特征在于,所述第一业务所关联的所述第一令牌桶组中的令牌桶产生令牌的速率,是根据所述第一业务的平均请求阈值或最低请求阈值确定的。
16.一种网关,其特征在于,包括:
处理器;
存储器,用于存储所述处理器可执行指令;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的数据传输控制方法。
17.一种非易失性可读存储介质,其特征在于,当所述非易失性可读存储介质中的指令由网关的处理器执行时,使得所述网关能够执行如权利要求1至8中任一项所述的数据传输控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287772.XA CN112104568B (zh) | 2020-11-17 | 2020-11-17 | 一种数据传输控制方法及网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287772.XA CN112104568B (zh) | 2020-11-17 | 2020-11-17 | 一种数据传输控制方法及网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104568A true CN112104568A (zh) | 2020-12-18 |
CN112104568B CN112104568B (zh) | 2021-07-23 |
Family
ID=73786009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011287772.XA Active CN112104568B (zh) | 2020-11-17 | 2020-11-17 | 一种数据传输控制方法及网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104568B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949668A (zh) * | 2021-08-31 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、服务器及存储介质 |
CN114745562A (zh) * | 2022-04-07 | 2022-07-12 | 深圳小鹅网络技术有限公司 | 业务请求的处理方法、装置 |
CN114793216A (zh) * | 2022-06-22 | 2022-07-26 | 北京轻网科技有限公司 | 令牌管理及信息发送方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581848A (zh) * | 2004-05-18 | 2005-02-16 | 北京邮电大学 | 一种保障“确保转发业务”汇聚流公平性的流量调节方法 |
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
US20080008095A1 (en) * | 2006-07-10 | 2008-01-10 | International Business Machines Corporation | Method for Distributed Traffic Shaping across a Cluster |
CN102118314A (zh) * | 2011-02-28 | 2011-07-06 | 华为技术有限公司 | 流量管理的方法和管理装置 |
CN102130823A (zh) * | 2009-10-28 | 2011-07-20 | 美国博通公司 | 用于数据通信的方法和网络设备 |
CN102195819A (zh) * | 2011-05-30 | 2011-09-21 | 中兴通讯股份有限公司 | 一种网络设备及其业务流量监管方法 |
-
2020
- 2020-11-17 CN CN202011287772.XA patent/CN112104568B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581848A (zh) * | 2004-05-18 | 2005-02-16 | 北京邮电大学 | 一种保障“确保转发业务”汇聚流公平性的流量调节方法 |
US20080008095A1 (en) * | 2006-07-10 | 2008-01-10 | International Business Machines Corporation | Method for Distributed Traffic Shaping across a Cluster |
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
CN102130823A (zh) * | 2009-10-28 | 2011-07-20 | 美国博通公司 | 用于数据通信的方法和网络设备 |
CN102118314A (zh) * | 2011-02-28 | 2011-07-06 | 华为技术有限公司 | 流量管理的方法和管理装置 |
CN102195819A (zh) * | 2011-05-30 | 2011-09-21 | 中兴通讯股份有限公司 | 一种网络设备及其业务流量监管方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949668A (zh) * | 2021-08-31 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、服务器及存储介质 |
CN113949668B (zh) * | 2021-08-31 | 2023-12-19 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、服务器及存储介质 |
CN114745562A (zh) * | 2022-04-07 | 2022-07-12 | 深圳小鹅网络技术有限公司 | 业务请求的处理方法、装置 |
CN114793216A (zh) * | 2022-06-22 | 2022-07-26 | 北京轻网科技有限公司 | 令牌管理及信息发送方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112104568B (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112104568B (zh) | 一种数据传输控制方法及网关 | |
CN109040259B (zh) | 一种基于mec的cdn节点分配方法和系统 | |
US6535504B1 (en) | Link aggregation path selection method | |
US6594268B1 (en) | Adaptive routing system and method for QOS packet networks | |
KR101337039B1 (ko) | 통신 네트워크 내의 패킷을 라우팅하는 방법 및 통신 네트워크 내의 패킷을 라우팅하기 위한 네트워크 노드 | |
CN106790340B (zh) | 一种链路调度方法及装置 | |
CN103477662A (zh) | 用于动态掌握的Diameter绑定信息的方法、系统和计算机可读介质 | |
CN114788315A (zh) | 使用网络切片选择辅助信息(nssai)可用性信息的基于策略的接入和移动性管理功能(amf)选择 | |
CN108881018B (zh) | 用于在diameter信令路由器处路由diameter消息的方法、系统及装置 | |
CN113225196B (zh) | 服务等级配置方法以及装置 | |
CN109040243B (zh) | 一种报文处理方法及装置 | |
CN103281241A (zh) | 接入网络的动态服务信息 | |
CN109962760B (zh) | 一种适于无线tdma自组网的业务调度方法 | |
CN112889029A (zh) | 用于网络节点处的无锁通信处理的方法、系统和计算机可读介质 | |
CN112311685A (zh) | 一种处理网络拥塞的方法以及相关装置 | |
Chen et al. | SDATP: An SDN-based adaptive transmission protocol for time-critical services | |
CN110855424B (zh) | 一种DPI领域非对称流量xDR合成的方法和装置 | |
CN114051013A (zh) | 一种通信数据传输方法及装置 | |
CN112087382A (zh) | 一种服务路由方法及装置 | |
CN112838992B (zh) | 报文调度方法及网络设备 | |
Suda et al. | Performance evaluation of an integrated access scheme in a satellite communication channel | |
US11575601B2 (en) | Network device and packet processing method using same | |
CN102740273B (zh) | 一种多终端时业务消息处理方法、系统和装置 | |
Borgonovo et al. | Circuit service in deflection networks | |
CN114221913A (zh) | 一种发送和获取断言报文的方法和网络节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |