CN113676419A - 一种消息传输方法及装置 - Google Patents
一种消息传输方法及装置 Download PDFInfo
- Publication number
- CN113676419A CN113676419A CN202111032154.5A CN202111032154A CN113676419A CN 113676419 A CN113676419 A CN 113676419A CN 202111032154 A CN202111032154 A CN 202111032154A CN 113676419 A CN113676419 A CN 113676419A
- Authority
- CN
- China
- Prior art keywords
- message
- message transmission
- current period
- average
- transmission delay
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 255
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000001934 delay Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 16
- 238000005070 sampling Methods 0.000 abstract description 12
- 230000008859 change Effects 0.000 abstract description 6
- 230000001276 controlling effect Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种消息传输方法及装置,该方法包括:计算上一个周期内的平均消息传输时延;根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。本发明通过周期性采样消息传输时延,并以其为根据调整发送间隔及发送队列深度,仅控制发送端变可较好地控制消息通道拥塞,从而达到最大限度利用计算资源的目的。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种消息传输方法及装置。
背景技术
现有技术中,消息中间件是用于***间异步通讯的工具,是关注数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式***。主要用于解决应用解耦,异步消息,流量削峰等问题。
可以理解的是,消息中间件通过消息通道进行消息传输,中间状态的消息标识均会保存在通道发送队列中,但往往在实际应用中,经常会因为网络带宽或者机器性能差异等原因导致收发端速率不匹配,具体地:发端速度过快时可能导致消息堆积在发送队列中,造成拥塞;发端速度过慢时会造成资源浪费,无法快速传输,因此需要对发送端通道进行拥塞控制,以匹配收发端处理速率。现有检测队列拥塞控制的办法有通过判断重复ACK、检测队列中消息数量及变化速率、通过检测内存使用率等方法,在检测出现异常情况时认为通道出现拥塞,进行相应异常处理。
在上述的常规消息传输方法中,利用检测消息队列中的消息数量以及消息数量的变化速率的处理方法,一般是与预先设置的消息数量阈值及消息速率阈值进行比较,高于或低于阈值则认为异常,进行相应的异常处置。消息数量及变化速率,比较依赖当前队列中的实际消息数目,只有当消息稳定达到一定量级的时候消息数量及变化速率才有参考意义,且预先设置的阈值不好人为事先确认,无法适应多种复杂的网络场景。
而通过检测消费者自身的内存使用率来处理消息通道拥塞的方法同样存在着弊端:当内存使用率达到设定的反馈触发条件后,通知生产者调整消息发送窗口,以达到流量控制的效果。消费者内存使用率的影响因素较多,无法明确反映到是接收能力不足,且依赖于消费者主动通知生产者,生产者不主动进行调节,可能存在一定延时,造成拥塞。
综上所述,现有技术中亟需一种可以实时调整消息通道的发送间隔以及发送队列深度,以达到较好的解决消息传输方法。
发明内容
根据本发明所提供的消息传输方法及装置,通过周期性采样消息传输时延,以其为根据调整发送间隔及发送队列深度,可以仅控制发送端(无需控制消息接收端),即可较好地控制消息通道拥塞,并将上述值保持在一个当前机器、带宽负载下的稳定值,最大限度利用计算资源,而且这种周期性采样方式对资源的利用也较低。
为了实现上述目的,本发明提供了一种消息传输方法,包括:
计算上一个周期内的平均消息传输时延;
根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;
根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
一实施例中,计算上一个周期内的平均消息传输时延包括:
根据收发端机器处理性能参数、网络宽带以及收发端队列深度计算所述上一个周期内多笔消息的消息传输时延;
根据所述多笔消息的消息传输时延计算所述上一个周期内的平均消息传输时延。
一实施例中,所述根据平均消息传输时延计算当前周期消息队列的理想最大深度,包括:
根据所述平均消息传输时延计算消息并发数以及网络传输时延;
根据所述消息并发数以及网络传输时延计算所述理想最大深度。
一实施例中,所述根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制,包括:
将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较;
当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间达到预设的消息发送间隔时间上限时,则将当前周期内的消息队列深度与预设的消息队列最大深度进行比较;
当所述当前周期内的消息队列深度不大于所述预设的消息队列最大深度时,减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
一实施例中,所述将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较,包括:
当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间未达到预设的消息发送间隔时间上限时,则增大所述当前周期内的发送间隔时间至所述预设的消息发送间隔时间上限。
一实施例中,所述将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较,还包括:
当所述多个周期内的平均消息传输时延不大于当前周期内的发送间隔时间时,将当前周期内的平均消息传输时延与上一个周期内的平均消息传输时延进行比较;
当前周期内的平均消息传输时延大于上一个周期内的平均消息传输时延时,增加当前周期内的消息发送间隔时间至预设的消息发送间隔时间上限;
当前周期内的平均消息传输时延不大于上一个周期内的平均消息传输时延时,则减小当前周期内的消息发送间隔时间至预设的消息发送间隔时间下限。
一实施例中,当所述理想最大深度大于当前周期内的预设的消息队列最大深度时,增加所述当前周期内的消息队列深度至所述预设的消息队列最大深度值;
当所述理想最大深度不大于当前周期内的预设的消息队列最大深度时,则减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
第二方面,本发明提供一种消息传输装置,该装置包括:
平均时延计算模块,用于计算上一个周期内的平均消息传输时延;
理想最大深度计算模块,用于根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;
消息通道控制模块,用于根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
一实施例中,所述平均时延计算模块包括:
传输时延计算单元,用于根据收发端机器处理性能参数、网络宽带以及收发端队列深度计算所述上一个周期内多笔消息的消息传输时延;
平均时延计算单元,用于根据所述多笔消息的消息传输时延计算所述上一个周期内的平均消息传输时延。
一实施例中,所述理想最大深度计算模块包括:
消息并发数计算单元,用于根据所述平均消息传输时延计算消息并发数以及网络传输时延;
理想最大深度计算单元,用于根据所述消息并发数以及网络传输时延计算所述理想最大深度。
一实施例中,所述消息通道控制模块包括:
第一比较单元,用于将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较;
第二比较单元,用于当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间达到预设的消息发送间隔时间上限时,则将当前周期内的消息队列深度与预设的消息队列最大深度进行比较;
第一最大深度减小单元,用于当所述当前周期内的消息队列深度不大于所述预设的消息队列最大深度时,减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
一实施例中,所述第一比较单元还包括:
第一间隔时间增大单元,用于当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间未达到预设的消息发送间隔时间上限时,则增大所述当前周期内的发送间隔时间至所述预设的消息发送间隔时间上限。
一实施例中,所述第一比较单元还包括:
第三比较单元,用于当所述多个周期内的平均消息传输时延不大于当前周期内的发送间隔时间时,将当前周期内的平均消息传输时延与上一个周期内的平均消息传输时延进行比较;
第二时间间隔增大单元,用于当前周期内的平均消息传输时延大于上一个周期内的平均消息传输时延时,增加当前周期内的消息发送间隔时间至预设的消息发送间隔时间上限;
时间间隔减小单元,用于当前周期内的平均消息传输时延不大于上一个周期内的平均消息传输时延时,则减小当前周期内的消息发送间隔时间至预设的消息发送间隔时间下限。
一实施例中,所述消息通道控制模块还包括:
队列深度增加单元,用于当所述理想最大深度大于当前周期内的预设的消息队列最大深度时,增加所述当前周期内的消息队列深度至所述预设的消息队列最大深度值;
第二最大深度减小单元,用于当所述理想最大深度不大于当前周期内的预设的消息队列最大深度时,则减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现消息传输方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现消息传输方法的步骤。
从上述描述可知,本发明实施例提供的消息传输方法及装置,首先计算上一个周期内的平均消息传输时延;接着,根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;最后根据平均消息传输时延以及理想最大深度对消息通道进行控制。通过周期性采样消息传输时延,以其为根据调整发送间隔及发送队列深度,可以仅控制发送端(无需控制消息接收端),即可较好地控制消息通道拥塞,并将上述值保持在一个当前机器、带宽负载下的稳定值,最大限度利用计算资源,而且这种周期性采样方式对资源的利用也较低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提供的消息传输方法的流程示意图;
图2为本发明实施例中步骤100的流程示意图;
图3为本发明实施例中步骤200的流程示意图;
图4为本发明实施例中步骤300的流程示意图一;
图5为本发明实施例中步骤301的流程示意图;
图6为本发明实施例中步骤300的流程示意图二;
图7为本发明具体应用实例中提供的消息传输方法的流程示意图;
图8为本发明具体应用实例中提供的消息传输方法的逻辑判断图;
图9为本发明具体应用实例中步骤S2的流程示意图;
图10为本发明具体应用实例中步骤a)的流程示意图;
图11为本发明具体应用实例中步骤c)的流程示意图;
图12为本发明具体应用实例中步骤S3的流程示意图;
图13为本发明实施例中针消息传输装置的结构示意图;
图14为本发明实施例中平均时延计算模块10的结构示意图;
图15为本发明实施例中理想最大深度计算模块20的结构示意图;
图16为本发明实施例中理想消息通道控制模块30的结构示意图一;
图17为本发明实施例中理想第一比较单元301的结构示意图一;
图18为本发明实施例中理想第一比较单元301的结构示意图一;
图19为本发明实施例中理想消息通道控制模块30的结构示意图二;
图20为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本发明的实施例提供一种消息传输方法的具体实施方式,参见图1,该方法具体包括如下内容:
步骤100:计算上一个周期内的平均消息传输时延。
具体地,周期性地、动态地的计算上一个周期内的平均消息传输时延,需要指出的是,这里的“周期性地”,即一个计算周期与步骤100中的“周期内”均指一个时间间隔。消息传输过程可简化为消息放入发送队列→网络传输消息→接收端处理发送回执→网络传输回执→发送端确认回执删除本地缓存消息等过程,从放入发送队列开始时刻到确认回执结束时刻,两个时刻之间的时间差为消息的整体传输时延,并获取一个周期内至多笔消息的传输时延求平均得到平均消息传输时延。
步骤200:根据多个平均消息传输时延计算当前周期消息队列的理想最大深度。
可以理解的是,消息发送队列深度决定发送并发数,过高时会造成堆积影响发送端处理速度、过低时会造成空闲;故理想的发送队列最大深度与网络传输时延(整体传输时延减去接收端处理时间)正相关,与接收端接收后处理时间反相关,接收端处理时间通过回执携带至消息发送端,以供其参考,接着,根据上述关系以及常数深度下限(常数深度下限一般根据经验值设置,可综合考虑实际使用环境的带宽与机器内存等因素,带宽较高、机器内存较大时,便可将预设发送间隔上下限值均调低,发送队列最大深度上下限均调高)可得到理想队列最大深度值。
步骤300:根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
具体地,通过采样计算最近一个周期内的平均消息传输时延,并以此为参考,根据平均消息传输时延调整发送间隔以及发送队列最大深度,来控制消息通道。
从上述描述可知,本发明实施例提供的消息传输方法,首先计算上一个周期内的平均消息传输时延;接着,根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;最后根据平均消息传输时延以及理想最大深度对消息通道进行控制。通过周期性采样消息传输时延,以其为根据调整发送间隔及发送队列深度,可以仅控制发送端(无需控制消息接收端),即可较好地控制消息通道拥塞,并将上述值保持在一个当前机器、带宽负载下的稳定值,最大限度利用计算资源,而且这种周期性采样方式对资源的利用也较低。
一实施例中,参见图2,步骤100包括:
步骤101:根据收发端机器处理性能参数、网络宽带以及收发端队列深度计算所述上一个周期内多笔消息的消息传输时延;
可以理解的是,单笔消息传输时延是指从本端发送出去到本端确认对端接收到消息为止,整个过程需受到收发端机器处理性能、网络带宽、收发端队列深度等因素影响。
具体地,每笔消息传输时延即本端发出到本端确认对端接收的时间差。受处理性能、带宽等因素影响。
步骤102:根据所述多笔消息的消息传输时延计算所述上一个周期内的平均消息传输时延。
优选地的,通过多个稳定周期内的消息传输时延来计算平均消息传输时延,稳定周期是指平均消息传输时延变化幅度较小的周期(小于预设阈值时间)。
一实施例中,参见图3,步骤200进一步包括:
步骤201:根据所述平均消息传输时延计算消息并发数以及网络传输时延;
步骤202:根据所述消息并发数以及网络传输时延计算所述理想最大深度。
一实施例中,参见图4,步骤300进一步包括:
步骤301:将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较;
步骤302:当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间达到预设的消息发送间隔时间上限时,则将当前周期内的消息队列深度与预设的消息队列最大深度进行比较;
步骤303:当所述当前周期内的消息队列深度不大于所述预设的消息队列最大深度时,减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
一实施例中,参见图5,步骤301进一步包括:
步骤3011:当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间未达到预设的消息发送间隔时间上限时,则增大所述当前周期内的发送间隔时间至所述预设的消息发送间隔时间上限。
可以看出,步骤302以及步骤304是在“当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间”的前提下,当前周期内的发送间隔时间达到以及未达到预设的消息发送间隔时间上限时的两个反例。
一实施例中,参见图6,步骤301进一步包括:
步骤3012:当所述多个周期内的平均消息传输时延不大于当前周期内的发送间隔时间时,将当前周期内的平均消息传输时延与上一个周期内的平均消息传输时延进行比较;
步骤3013:当前周期内的平均消息传输时延大于上一个周期内的平均消息传输时延时,增加当前周期内的消息发送间隔时间至预设的消息发送间隔时间上限;
步骤3014:当前周期内的平均消息传输时延不大于上一个周期内的平均消息传输时延时,则减小当前周期内的消息发送间隔时间至预设的消息发送间隔时间下限。
一实施例中,基于步骤3011至步骤3014任一步骤的结果基础之上有:
当所述理想最大深度大于当前周期内的预设的消息队列最大深度时,增加所述当前周期内的消息队列深度至所述预设的消息队列最大深度值;
当所述理想最大深度不大于当前周期内的预设的消息队列最大深度时,则减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
为进一步地说明本方案,本申请提供消息传输方法的具体应用实例,参见图7以及图8,该具体应用实例具体包括如下内容。
S1:周期性采样计算最近一个固定时间段内的通道平均消息传输时延,同时保存上个周期的平均消息传输时延,通过n个稳定周期内(平均消息传输时延变化幅度较小)的平均消息传输时延可计算得到一个与之匹配的理想发送队列最大深度(理想最大深度);
S2:预设消息发送间隔上下限值与发送队列最大深度上下限值,以及当前消息发送间隔与当前发送队列最大深度,默认为各自上限值,每个周期结束都会将平均消息传输时延与当前消息发送间隔进行比较;具体地,参见图9,步骤S2包括:
a)如果平均消息传输时延大于当前消息发送间隔并且当前消息发送间隔已经达到消息发送间隔上限值,则需要判断当前发送队列深度与当前发送队列最大深度大小;参见图10,步骤a)包括:
i.如果当前发送队列深度小于等于发送队列最大深度,则按比例减小当前发送队列最大深度,减小至发送队列最大深度下限值或当前发送队列深度;
ii.当前发送队列深度没有大于发送队列最大深度的情况;
b)如果平均消息传输时延大于当前消息发送间隔并且当前消息发送间隔未达到消息发送间隔上限值,则按比例增大当前消息发送间隔;
c)如果平均消息传输时延小于等于当前消息发送间隔,则判断当前平均消息传输时延与上一周期平均消息传输时延大小;参见图11,步骤c)进一步包括:
c1:如果当前平均传输时延大于上一周期平均消息传输时延,则按比例增大当前消息发送间隔,直到达到上限值;
c2:如果当前平均传输时延小于等于上一周期平均消息传输时延,则按比例减小当前消息发送间隔,直到达到下限值,同时进入步骤S3调整发送队列最大深度;
d)如果上一周期内采样消息均未传输完毕,则按比例增大当前消息发送间隔;
e)如果上一周期内没有消息传输,则不调整消息发送间隔;
S3:每n个稳定周期结束后,将计算得到的发送队列最大深度与当前发送队列最大深度进行比较;
参见图12,进一步地,步骤S3包括以下步骤:
f)如果计算出的发送队列最大深度大于当前发送队列最大深度,则按比例增加当前发送队列最大深度,直到达到上限值;
g)如果计算出的发送队列最大深度小于等于当前发送队列最大深度,则按比例减少当前发送队列最大深度,直到达到下限值或当前发送队列实际当前深度。
在本发明具体应用实例中,在消息中间件中为通道设置专门的时延结构体数据结构,存放一定笔数的消息状态时间,当该笔消息最终发送完成后,计算出其传输时延。同时设置发送队列的最大深度、发送间隔等数据结构。设置专门时延检查线程,每隔一段时间计算一次的平均传输时延,同时保存历史n次平均传输时延,以计算得到理想的发送队列最大深度。时延检查线程每个周期计算完成得到一次有效的平均传输时延后,根据上述方案中的流程,将其与当前发送间隔、队列深度、历史传输时延进行比较,实时调整发送间隔以及当前发送队列最大深度,可以在通道的发送端实现拥塞控制。
基于同一发明构思,本申请实施例还提供了消息传输装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于消息传输装置解决问题的原理与消息传输方法相似,因此消息传输装置的实施可以参见消息传输方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现消息传输方法的消息传输装置的具体实施方式,参见图13,消息传输装置具体包括如下内容:
平均时延计算模块10,用于计算上一个周期内的平均消息传输时延;
理想最大深度计算模块20,用于根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;
消息通道控制模块30,用于根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
一实施例中,参见图14,所述平均时延计算模块10包括:
传输时延计算单元101,用于根据收发端机器处理性能参数、网络宽带以及收发端队列深度计算所述上一个周期内多笔消息的消息传输时延;
平均时延计算单元102,用于根据所述多笔消息的消息传输时延计算所述上一个周期内的平均消息传输时延。
一实施例中,参见图15,所述理想最大深度计算模块20包括:
消息并发数计算单元201,用于根据所述平均消息传输时延计算消息并发数以及网络传输时延;
理想最大深度计算单元202,用于根据所述消息并发数以及网络传输时延计算所述理想最大深度。
一实施例中,参见图16,所述消息通道控制模块30包括:
第一比较单元301,用于将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较;
第二比较单元302,用于当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间达到预设的消息发送间隔时间上限时,则将当前周期内的消息队列深度与预设的消息队列最大深度进行比较;
第一最大深度减小单元303,用于当所述当前周期内的消息队列深度不大于所述预设的消息队列最大深度时,减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
一实施例中,参见图17,所述第一比较单元301包括:
第一间隔时间增大单元3011,用于当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间未达到预设的消息发送间隔时间上限时,则增大所述当前周期内的发送间隔时间至所述预设的消息发送间隔时间上限。
一实施例中,参见图18,所述第一比较单元301还包括:
第三比较单元3012,用于当所述多个周期内的平均消息传输时延不大于当前周期内的发送间隔时间时,将当前周期内的平均消息传输时延与上一个周期内的平均消息传输时延进行比较;
第二时间间隔增大单元3013,用于当前周期内的平均消息传输时延大于上一个周期内的平均消息传输时延时,增加当前周期内的消息发送间隔时间至预设的消息发送间隔时间上限;
时间间隔减小单元3014,用于当前周期内的平均消息传输时延不大于上一个周期内的平均消息传输时延时,则减小当前周期内的消息发送间隔时间至预设的消息发送间隔时间下限。
一实施例中,参见图19,所述消息通道控制模块30还包括:
队列深度增加单元304,用于当所述理想最大深度大于当前周期内的预设的消息队列最大深度时,增加所述当前周期内的消息队列深度至所述预设的消息队列最大深度值;
第二最大深度减小单元305,用于当所述理想最大深度不大于当前周期内的预设的消息队列最大深度时,则减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
从上述描述可知,本发明实施例提供的消息传输装置,首先计算上一个周期内的平均消息传输时延;接着,根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;最后根据平均消息传输时延以及理想最大深度对消息通道进行控制。本发明通过周期性采样消息传输时延,以其为根据调整发送间隔及发送队列深度,可以仅控制发送端(无需控制消息接收端),即可较好地控制消息通道拥塞,并将上述值保持在一个当前机器、带宽负载下的稳定值,最大限度利用计算资源,而且这种周期性采样方式对资源的利用也较低。
本申请的实施例还提供能够实现上述实施例中的消息传输方法中全部步骤的一种电子设备的具体实施方式,参见图20,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、功率测量设备以及用户端设备等相关设备之间的信息传输。
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的消息传输方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:计算上一个周期内的平均消息传输时延;
步骤200:根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;
步骤300:根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
本申请的实施例还提供能够实现上述实施例中的消息传输方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的消息传输方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:计算上一个周期内的平均消息传输时延;
步骤200:根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;
步骤300:根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种消息传输方法,其特征在于,包括:
计算上一个周期内的平均消息传输时延;
根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;
根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
2.根据权利要求1所述的消息传输方法,其特征在于,计算上一个周期内的平均消息传输时延包括:
根据收发端机器处理性能参数、网络宽带以及收发端队列深度计算所述上一个周期内多笔消息的消息传输时延;
根据所述多笔消息的消息传输时延计算所述上一个周期内的平均消息传输时延。
3.根据权利要求1所述的消息传输方法,其特征在于,所述根据平均消息传输时延计算当前周期消息队列的理想最大深度,包括:
根据所述平均消息传输时延计算消息并发数以及网络传输时延;
根据所述消息并发数以及网络传输时延计算所述理想最大深度。
4.根据权利要求1所述的消息传输方法,其特征在于,所述根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制,包括:
将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较;
当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间达到预设的消息发送间隔时间上限时,则将当前周期内的消息队列深度与预设的消息队列最大深度进行比较;
当所述当前周期内的消息队列深度不大于所述预设的消息队列最大深度时,减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
5.根据权利要求4所述的消息传输方法,其特征在于,所述将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较,包括:
当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间未达到预设的消息发送间隔时间上限时,则增大所述当前周期内的发送间隔时间至所述预设的消息发送间隔时间上限。
6.根据权利要求4所述的消息传输方法,其特征在于,所述将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较,还包括:
当所述多个周期内的平均消息传输时延不大于当前周期内的发送间隔时间时,将当前周期内的平均消息传输时延与上一个周期内的平均消息传输时延进行比较;
当前周期内的平均消息传输时延大于上一个周期内的平均消息传输时延时,增加当前周期内的消息发送间隔时间至预设的消息发送间隔时间上限;
当前周期内的平均消息传输时延不大于上一个周期内的平均消息传输时延时,则减小当前周期内的消息发送间隔时间至预设的消息发送间隔时间下限。
7.根据权利要求4至6任一项所述的消息传输方法,其特征在于,
当所述理想最大深度大于当前周期内的预设的消息队列最大深度时,增加所述当前周期内的消息队列深度至所述预设的消息队列最大深度值;
当所述理想最大深度不大于当前周期内的预设的消息队列最大深度时,则减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
8.一种消息传输装置,其特征在于,包括:
平均时延计算模块,用于计算上一个周期内的平均消息传输时延;
理想最大深度计算模块,用于根据多个平均消息传输时延计算当前周期消息队列的理想最大深度;
消息通道控制模块,用于根据所述平均消息传输时延以及所述理想最大深度对消息通道进行控制。
9.根据权利要求8所述的消息传输装置,其特征在于,所述平均时延计算模块包括:
传输时延计算单元,用于根据收发端机器处理性能参数、网络宽带以及收发端队列深度计算所述上一个周期内多笔消息的消息传输时延;
平均时延计算单元,用于根据所述多笔消息的消息传输时延计算所述上一个周期内的平均消息传输时延。
10.根据权利要求8所述的消息传输装置,其特征在于,所述理想最大深度计算模块包括:
消息并发数计算单元,用于根据所述平均消息传输时延计算消息并发数以及网络传输时延;
理想最大深度计算单元,用于根据所述消息并发数以及网络传输时延计算所述理想最大深度。
11.根据权利要求8所述的消息传输装置,其特征在于,所述消息通道控制模块包括:
第一比较单元,用于将所述多个周期内的平均消息传输时延与当前周期内的发送间隔时间进行比较;
第二比较单元,用于当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间达到预设的消息发送间隔时间上限时,则将当前周期内的消息队列深度与预设的消息队列最大深度进行比较;
第一最大深度减小单元,用于当所述当前周期内的消息队列深度不大于所述预设的消息队列最大深度时,减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
12.根据权利要求11所述的消息传输装置,其特征在于,所述第一比较单元还包括:
第一间隔时间增大单元,用于当所述多个周期内的平均消息传输时延大于当前周期内的发送间隔时间,并且当前周期内的发送间隔时间未达到预设的消息发送间隔时间上限时,则增大所述当前周期内的发送间隔时间至所述预设的消息发送间隔时间上限。
13.根据权利要求11所述的消息传输装置,其特征在于,所述第一比较单元还包括:
第三比较单元,用于当所述多个周期内的平均消息传输时延不大于当前周期内的发送间隔时间时,将当前周期内的平均消息传输时延与上一个周期内的平均消息传输时延进行比较;
第二时间间隔增大单元,用于当前周期内的平均消息传输时延大于上一个周期内的平均消息传输时延时,增加当前周期内的消息发送间隔时间至预设的消息发送间隔时间上限;
时间间隔减小单元,用于当前周期内的平均消息传输时延不大于上一个周期内的平均消息传输时延时,则减小当前周期内的消息发送间隔时间至预设的消息发送间隔时间下限。
14.根据权利要求11至13任一项所述的消息传输装置,其特征在于,所述消息通道控制模块还包括:
队列深度增加单元,用于当所述理想最大深度大于当前周期内的预设的消息队列最大深度时,增加所述当前周期内的消息队列深度至所述预设的消息队列最大深度值;
第二最大深度减小单元,用于当所述理想最大深度不大于当前周期内的预设的消息队列最大深度时,则减小所述预设的消息队列最大深度至所述当前周期内的消息队列深度值。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述消息传输方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述消息传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032154.5A CN113676419A (zh) | 2021-09-03 | 2021-09-03 | 一种消息传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032154.5A CN113676419A (zh) | 2021-09-03 | 2021-09-03 | 一种消息传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113676419A true CN113676419A (zh) | 2021-11-19 |
Family
ID=78548195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111032154.5A Pending CN113676419A (zh) | 2021-09-03 | 2021-09-03 | 一种消息传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676419A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675857B1 (en) * | 2006-05-03 | 2010-03-09 | Google Inc. | Method and apparatus to avoid network congestion |
CN102571559A (zh) * | 2011-12-12 | 2012-07-11 | 北京交控科技有限公司 | 基于时间触发的网络报文发送方法 |
US20160224380A1 (en) * | 2015-01-30 | 2016-08-04 | Salesforce.Com, Inc. | Workload-driven techniques for providing biased service level guarantees |
CN108259383A (zh) * | 2016-12-29 | 2018-07-06 | 北京华为数字技术有限公司 | 一种数据的传输方法和网络设备 |
CN108989138A (zh) * | 2017-05-31 | 2018-12-11 | 中兴通讯股份有限公司 | 数据传输方法、装置、***及网关 |
CN109039727A (zh) * | 2018-07-24 | 2018-12-18 | 中国银行股份有限公司 | 基于深度学习的消息队列监控方法及装置 |
CN110099013A (zh) * | 2019-04-25 | 2019-08-06 | 新华三技术有限公司 | 一种报文发送控制方法及装置 |
CN112104562A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 拥塞控制方法及装置、通信网络、计算机存储介质 |
-
2021
- 2021-09-03 CN CN202111032154.5A patent/CN113676419A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675857B1 (en) * | 2006-05-03 | 2010-03-09 | Google Inc. | Method and apparatus to avoid network congestion |
CN102571559A (zh) * | 2011-12-12 | 2012-07-11 | 北京交控科技有限公司 | 基于时间触发的网络报文发送方法 |
US20160224380A1 (en) * | 2015-01-30 | 2016-08-04 | Salesforce.Com, Inc. | Workload-driven techniques for providing biased service level guarantees |
CN108259383A (zh) * | 2016-12-29 | 2018-07-06 | 北京华为数字技术有限公司 | 一种数据的传输方法和网络设备 |
CN108989138A (zh) * | 2017-05-31 | 2018-12-11 | 中兴通讯股份有限公司 | 数据传输方法、装置、***及网关 |
CN109039727A (zh) * | 2018-07-24 | 2018-12-18 | 中国银行股份有限公司 | 基于深度学习的消息队列监控方法及装置 |
CN110099013A (zh) * | 2019-04-25 | 2019-08-06 | 新华三技术有限公司 | 一种报文发送控制方法及装置 |
CN112104562A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 拥塞控制方法及装置、通信网络、计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
赵迪: "数据中心网络流量传输实时性优化方法研究与***实现", 《中国优秀硕士学位论文全文数据库》, 15 May 2021 (2021-05-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905259B (zh) | 通信连接维持方法、***和相关设备 | |
CN110401511B (zh) | 一种传输速率的确定方法、装置、设备和存储介质 | |
KR102385762B1 (ko) | 속도 최적화된 정체 관리 | |
US20170324641A1 (en) | Modified slow start for background connections | |
CN109525447B (zh) | 一种调整网络传输带宽的方法、装置及电子设备 | |
CN115378859B (zh) | 用于确定极限状态信息的方法、装置、设备、介质和产品 | |
US20180076934A1 (en) | Scalable receive window auto-tuning | |
CN110460491B (zh) | 基于rdma的性能测试方法及装置 | |
CN110098976B (zh) | 网络参数的测量方法、装置、计算机设备和存储介质 | |
CN109861922B (zh) | 用于控制流量的方法和装置 | |
CN113783822B (zh) | 服务超时管理方法和装置,电子设备,可读介质 | |
CN113676419A (zh) | 一种消息传输方法及装置 | |
WO2017192342A1 (en) | Initial and periodic slowdowns for background connections | |
CN109428901B (zh) | 消息处理方法以及消息处理装置 | |
US9544249B2 (en) | Apparatus and method for aligning order of received packets | |
US9477736B2 (en) | Apparatus and method for active and passive data gathering using stochastic model in control network | |
CN116319569A (zh) | 网络参数更新方法、网络参数更新装置、介质及电子设备 | |
CN114024913B (zh) | 一种网络性能优化方法、装置、设备以及存储介质 | |
CN110838989A (zh) | 一种用于基于令牌进行网络限流的方法和装置 | |
CN106899510B (zh) | 一种基于iSCSI协议的传输速率控制方法和装置 | |
CN113614658B (zh) | 管线运算装置、可编程逻辑控制器及管线处理的执行方法 | |
Boutammine et al. | An adaptive scheduling method for grid computing | |
CN115277595B (zh) | 数据发送方法及相关装置 | |
CN112379986B (zh) | 任务处理方法、装置和电子设备 | |
CN116048791B (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 |