System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 报文发送方法和装置、存储介质及电子装置制造方法及图纸_技高网

报文发送方法和装置、存储介质及电子装置制造方法及图纸

技术编号:41246928 阅读:2 留言:0更新日期:2024-05-09 23:56
本申请公开了一种报文发送方法和装置、存储介质及电子装置,该方法包括:在交换机上待发送的目标数据流的数据量大于或者等于预设的数据量阈值的情况下,在目标数据流中确定尚未发送的第一部分报文;根据目标数据流中的第二部分报文中的各个报文的发送状态,确定是否通过第二端口发送第一部分报文中的各个报文;在确定不通过第二端口发送第一部分报文中的各个报文的情况下,确定交换机上用于发送第一部分报文中的各个报文的第一端口,并通过第一端口发送第一部分报文中的各个报文,采用上述技术方案,解决了相关技术中,报文发送效率较低等问题。

【技术实现步骤摘要】

本申请涉及计算机领域,具体而言,涉及一种报文发送方法和装置、存储介质及电子装置


技术介绍

1、相关技术中,交换机在转发报文时所采用的负载均衡策略,往往是在数据流的维度上,选择不同的负载均衡算法,可以理解的是,这样的方式,同一种负载均衡算法,在大象流(数据量较大的数据流)和老鼠流(数据量较小的数据流)并存的情况下,负载均衡效果可能并不好,而无论大象流的持续时间长短,所到之处均可能引起拥塞和丢包,会给应用带来直接的负面影响,可以理解的是,相关技术中,报文发送效率较低。

2、针对相关技术中,报文发送效率较低等问题,尚未提出有效的解决方案。


技术实现思路

1、本申请实施例提供了一种报文发送方法和装置、存储介质及电子装置,以至少解决相关技术中,报文发送效率较低等问题。

2、根据本申请实施例的一个实施例,提供了一种报文发送方法,包括:在交换机上待发送的目标数据流的数据量大于或者等于预设的数据量阈值的情况下,在所述目标数据流中确定尚未发送的第一部分报文;根据所述目标数据流中的第二部分报文中的各个报文的发送状态,确定是否通过第二端口发送所述第一部分报文中的各个报文,其中,所述第二端口包括所述交换机上用于发送所述第二部分报文中的各个报文的端口,所述第二部分报文包括所述目标数据流中已发送的至少部分报文;在确定不通过所述第二端口发送所述第一部分报文中的各个报文的情况下,确定所述交换机上用于发送所述第一部分报文中的各个报文的第一端口,并通过所述第一端口发送所述第一部分报文中的各个报文。

3、在一个示范性实施例中,所述在所述目标数据流中确定尚未发送的第一部分报文,包括:确定所述目标数据流中的各个报文中携带的报文标识,得到一组报文标识,其中,所述一组报文标识中的各个报文标识用于表示通过所述目标数据流中的各个报文的发送顺序,所述发送顺序用于表示所述交换机发送所述目标数据流中的各个报文的顺序;按照所述发送顺序的先后和预设的报文数量,在所述目标数据流中确定尚未发送的第一部分报文,其中,所述第一部分报文中的报文数量为所述预设的报文数量,所述第一部分报文的发送顺序早于所述目标数据流中尚未发送的报文中除所述第一部分报文之外的报文的发送顺序。

4、在一个示范性实施例中,所述根据所述目标数据流中的第二部分报文中的各个报文的发送状态,确定是否通过第二端口发送所述第一部分报文中的各个报文,包括:确定通过所述第二端口发送的所述第二部分报文的报文长度和发送时长,其中,所述第二部分报文的报文长度等于所述第二部分报文中各个报文的报文长度之和,所述发送时长等于通过所述第二端口开始发送所述第二部分报文中的首个报文的时间和通过所述第二端口完成发送所述第二部分报文中的最后一个报文的时间之间的时长;将发送速率确定为等于所述报文长度除以所述发送时长得到的值,其中,所述发送速率用于表示通过所述第二端口发送所述第二部分报文的速率;在所述发送速率小于或者等于预设的发送速率阈值的情况下,确定不通过所述第二端口发送所述第一部分报文中的各个报文。

5、在一个示范性实施例中,所述在确定不通过所述第二端口发送所述第一部分报文中的各个报文的情况下,确定所述交换机上用于发送所述第一部分报文中的各个报文的第一端口,包括:从预设的负载均衡算法集合中确定第一负载均衡算法,其中,所述负载均衡算法集合中包括一个或者多个负载均衡算法,所述一个或者多个负载均衡算法包括所述第一负载均衡算法;根据所述第一负载均衡算法,从所述交换机的第一组端口中确定所述第一端口,其中,所述第一组端口包括所述交换机上除所述第二端口之外的端口。

6、在一个示范性实施例中,所述从预设的负载均衡算法集合中确定第一负载均衡算法,包括:从所述负载均衡算法集合中随机选择一个负载均衡算法作为所述第一负载均衡算法;或者从所述负载均衡算法集合中除第二负载均衡算法外的负载均衡算法中随机选择一个负载均衡算法作为所述第一负载均衡算法,其中,用于发送所述第二部分报文中的各个报文的所述第二端口是根据所述第二负载均衡算法确定的端口。

7、在一个示范性实施例中,所述根据所述第一负载均衡算法,从所述交换机的第一组端口中确定所述第一端口,包括以下之一:在所述第一负载均衡算法包括动态链路负载算法的情况下,确定所述第一组端口中各个端口的发送报文的速率,得到第一组发送速率,将所述第一组发送速率中最快的发送速率所对应的端口确定为所述第一端口;在所述第一负载均衡算法包括轮转均衡算法的情况下,将所述第一组端口中的第i个端口确定为所述第一端口,其中,所述第一组端口中的各个端口被设置为轮流发送报文,i为正整数;在所述第一负载均衡算法包括哈希均衡算法的情况下,确定所述第一部分报文所对应的哈希种子,根据所述哈希种子和预设的哈希键值,确定所述第一部分报文所对应的目标哈希值,从具有对应关系的哈希值和端口中,确定所述目标哈希值所对应的所述第一端口,其中,所述交换机上的端口具有一一对应的哈希值。

8、在一个示范性实施例中,在所述在所述目标数据流中确定尚未发送的第一部分报文之前,所述方法还包括:确定所述交换机上的第二组端口的负载信息,得到一组负载信息,其中,所述第二组端口是所述交换机上用于发送所述目标数据流中的报文的端口;根据所述一组负载信息,确定所述目标数据流的数据量是否大于或者等于所述数据量阈值。

9、在一个示范性实施例中,所述根据所述一组负载信息,确定所述目标数据流的数据量是否大于或者等于所述数据量阈值,包括以下之一:在所述一组负载信息包括所述第二组端口中各个端口的流量比例的情况下,在所述第二组端口中的各个端口的流量比例均大于或者等于预设的流量比例阈值的情况下,确定所述目标数据流的数据流大于或者等于所述数据量阈值,其中,所述第二组端口中的第j个端口的流量比例等于所述第j个端口正在发送的报文的数量除以所述第j个端口允许发送的报文的最大数量,j为正整数;在所述一组负载信息包括所述第二组端口中各个端口的流量比例、和所述第二组端口中各个端口的流量比例大于或者等于预设的流量比例阈值的持续时长、且所述第二组端口中各个端口的流量比例大于或者等于所述流量比例阈值的持续时长大于或者等于预设的持续时长阈值的情况下,确定所述目标数据流的数据量大于或者等于所述数据量阈值。

10、根据本申请实施例的另一个实施例,还提供了一种报文发送装置,包括:第一确定模块,用于在交换机上待发送的目标数据流的数据量大于或者等于预设的数据量阈值的情况下,在所述目标数据流中确定尚未发送的第一部分报文;第二确定模块,用于根据所述目标数据流中的第二部分报文中的各个报文的发送状态,确定是否通过第二端口发送所述第一部分报文中的各个报文,其中,所述第二端口包括所述交换机上用于发送所述第二部分报文中的各个报文的端口,所述第二部分报文包括所述目标数据流中已发送的至少部分报文;第三确定模块,用于在确定不通过所述第二端口发送所述第一部分报文中的各个报文的情况下,确定所述交换机上用于发送所述第一部分报文中的各个报文的第一端口,并通过所述第本文档来自技高网...

【技术保护点】

1.一种报文发送方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述在所述目标数据流中确定尚未发送的第一部分报文,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据流中的第二部分报文中的各个报文的发送状态,确定是否通过第二端口发送所述第一部分报文中的各个报文,包括:

4.根据权利要求1所述的方法,其特征在于,所述在确定不通过所述第二端口发送所述第一部分报文中的各个报文的情况下,确定所述交换机上用于发送所述第一部分报文中的各个报文的第一端口,包括:

5.根据权利要求4所述的方法,其特征在于,所述从预设的负载均衡算法集合中确定第一负载均衡算法,包括:

6.根据权利要求4所述的方法,其特征在于,所述根据所述第一负载均衡算法,从所述交换机的第一组端口中确定所述第一端口,包括以下之一:

7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述在所述目标数据流中确定尚未发送的第一部分报文之前,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述根据所述一组负载信息,确定所述目标数据流的数据量是否大于或者等于所述数据量阈值,包括以下之一:在所述一组负载信息包括所述第二组端口中各个端口的流量比例的情况下,在所述第二组端口中的各个端口的流量比例均大于或者等于预设的流量比例阈值的情况下,确定所述目标数据流的数据流大于或者等于所述数据量阈值,其中,所述第二组端口中的第j个端口的流量比例等于所述第j个端口正在发送的报文的数量除以所述第j个端口允许发送的报文的最大数量,j为正整数;在所述一组负载信息包括所述第二组端口中各个端口的流量比例、和所述第二组端口中各个端口的流量比例大于或者等于预设的流量比例阈值的持续时长、且所述第二组端口中各个端口的流量比例大于或者等于所述流量比例阈值的持续时长大于或者等于预设的持续时长阈值的情况下,确定所述目标数据流的数据量大于或者等于所述数据量阈值。

9.一种报文发送装置,其特征在于,包括:

10.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至8中任一项所述的方法。

11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至8中任一项所述的方法。

...

【技术特征摘要】

1.一种报文发送方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述在所述目标数据流中确定尚未发送的第一部分报文,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据流中的第二部分报文中的各个报文的发送状态,确定是否通过第二端口发送所述第一部分报文中的各个报文,包括:

4.根据权利要求1所述的方法,其特征在于,所述在确定不通过所述第二端口发送所述第一部分报文中的各个报文的情况下,确定所述交换机上用于发送所述第一部分报文中的各个报文的第一端口,包括:

5.根据权利要求4所述的方法,其特征在于,所述从预设的负载均衡算法集合中确定第一负载均衡算法,包括:

6.根据权利要求4所述的方法,其特征在于,所述根据所述第一负载均衡算法,从所述交换机的第一组端口中确定所述第一端口,包括以下之一:

7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述在所述目标数据流中确定尚未发送的第一部分报文之前,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述根据所述一组负载信息,确定所述目标数据流的数据量是否大于或者等于所...

【专利技术属性】
技术研发人员:王蒴陶钧
申请(专利权)人:苏州盛科通信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1