[发明专利]一种流量控制的方法及相关装置有效
申请号: | 201810349910.9 | 申请日: | 2018-04-18 |
公开(公告)号: | CN110391991B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 许金川;谭嘉杰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L47/10 | 分类号: | H04L47/10 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 彭琼 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 流量 控制 方法 相关 装置 | ||
本申请公开了一种流量控制的方法及相关装置。当服务端接收到客户端发送的发布报文时,服务端查询客户端的流控窗口的窗口值,并比较窗口值和预设的窗口门限;当窗口值等于窗口门限时,拒绝接收发布报文;当窗口值大于窗口门限时,将窗口值递减预设值,并处理发布报文。在客户端需要向服务端发送发布报文时,客户端查询客户端的流控窗口的窗口值,并比较窗口值和预设的窗口门限;当窗口值等于窗口门限时,暂停向服务端发送发布报文;当窗口值大于窗口门限时,将窗口值递减预设值,并向服务端发送发布报文。本申请能够避免客户端和服务端之间传输消息时,客户端发送消息的速度太快,导致服务端无法及时处理客户端发送的消息,无法正常通信的问题。
技术领域
本申请涉及通信技术领域,尤其涉及一种流量控制的方法及相关装置。
背景技术
消息队列遥测传输(Message Queue Telemetry Transport,MQTT)协议是一个客户端-服务端架构的发布/订阅模式的消息传输协议,具有轻巧、开放、简单、规范、易于实现等特点。MQTT协议可以应用到很多场景,如机器与机器的通信,以及物联网环境(Internetof Things,IoT)等等。
MQTT协议运行在传输控制协议(Transmission Control Protocol,TCP)/网络协议(Internet Protocol,IP)、或其它提供了有序、可靠、双向连接的网络连接上。但是目前MQTT协议并没有流量控制(流控)的机制,这就使得客户端和服务端之间传输消息时,如果发送方发送消息的速度太快,则会导致接收方在接收消息过程中因处理能力限制、消息拥塞等原因而无法及时处理发送方发送的消息从而使客户端和服务端之间无法进行正常通信。
发明内容
本申请提供了一种流量控制的方法及相关装置,能够避免客户端和服务端之间传输消息时,如果发送方发送消息的速度太快,导致接收方无法及时处理发送方发送的消息,使客户端和服务端之间无法进行正常通信的问题。
第一方面,本申请提供了一种流量控制的方法。当服务端接收到客户端发送的发布报文时,所述服务端查询所述客户端的流控窗口的窗口值。所述服务端比较所述窗口值和预设的窗口门限。当所述窗口值等于所述窗口门限时,所述服务端拒绝接收所述发布报文。当所述窗口值大于所述窗口门限时,所述服务端将所述窗口值递减预设值,并处理所述发布报文。
本申请实施例中,服务端存储客户端的流控窗口的窗口值,服务端通过客户端的流控窗口的窗口值可以控制接收客户端发送的发布报文,实现对客户端的流量控制。从而可以避免因客户端发送报文的速度太快或数量太多导致服务端无法及时处理,使客户端和服务端之间无法进行正常通信的问题。
结合第一方面,在第一方面的第一种可能的实施方式中,还包括:所述服务端接收所述客户端发送的连接请求报文,所述连接请求报文包括所述客户端的流控窗口的第一初始值和所述客户端的流控窗口的第一恢复周期,所述第一恢复周期表示所述客户端的流控窗口恢复为所述第一初始值的周期;当所述第一初始值和所述第一恢复周期满足预设条件时,所述服务端存储所述第一初始值和所述第一恢复周期,并向所述客户端发送第一连接确认报文,其中,所述第一连接确认报文包括所述第一初始值和所述第一恢复周期,所述第一连接确认报文表示所述客户端的流控窗口的初始值为所述第一初始值,以及所述客户端的流控窗口的恢复周期为所述第一恢复周期;当所述第一初始值和所述第一恢复周期不满足所述预设条件,所述服务端确定所述客户端的流控窗口的第二初始值和所述客户端的流控窗口的第二恢复周期;所述服务端存储所述第二初始值和所述第二恢复周期;所述服务端向所述客户端发送第二连接确认报文,其中,所述第二连接确认报文包括所述第二初始值和所述第二恢复周期,所述第二连接确认报文表示所述客户端的流控窗口的初始值为所述第二初始值,以及所述客户端的流控窗口的恢复周期为所述第二恢复周期。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,在所述服务端向所述客户端发送第一连接确认报文之后,所述方法还包括:所述服务端根据所述第一恢复周期将所述客户端的流控窗口的值设置为所述第一初始值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810349910.9/2.html,转载请声明来源钻瓜专利网。