消息流控方法、装置、设备及计算机可读存储介质

文档序号:814882 发布日期:2021-03-26 浏览:13次 >En<

阅读说明:本技术 消息流控方法、装置、设备及计算机可读存储介质 (Message flow control method, device, equipment and computer readable storage medium ) 是由 邓停东 陈绍武 于 2019-09-26 设计创作,主要内容包括:本发明公开了一种消息流控方法、装置、设备及计算机可读存储介质。所示消息流控方法包括:设置滑动窗口,滑动窗口包含至少一个消息窗口;滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息;其中,滑动窗口的滑动间隔包含至少一个消息窗口。采用本发明,通过滑动窗口可以控制发送至终端的消息量,使得消息均匀、平稳地发送出去,可以有效避免消息发送冲突、网络堵塞的情况,相对于现有技术中的消息发送方法实用性更佳。(The invention discloses a message flow control method, a device, equipment and a computer readable storage medium. The message flow control method comprises the following steps: setting a sliding window, wherein the sliding window comprises at least one message window; a sliding window, under the position range limit of the current sliding window, sending a message based on the message window; wherein the sliding interval of the sliding window comprises at least one message window. By adopting the invention, the message amount sent to the terminal can be controlled through the sliding window, so that the message is sent out uniformly and stably, the conditions of message sending conflict and network blockage can be effectively avoided, and the practicability is better compared with the message sending method in the prior art.)

消息流控方法、装置、设备及计算机可读存储介质

技术领域

本发明涉及通信领域,尤其涉及一种消息流控方法、装置、设备及计算机可读存储介质。

背景技术

在融合通信中,单个企业的群发消息和即时消息都属于发给终端用户的消息。为了对企业下发的消息数进行限制,相关技术中,通过对群发消息数和即时消息数分别进行配置,在下发时分别单独控制群发消息参数、即时消息的参数。但这种方式容易造成网络拥塞,可用性较差。

发明内容

本发明实施例提供一种消息流控方法、装置、设备及计算机可读存储介质,用以解决现有技术中网络拥塞、可用性较差等问题。

本发明实施例提出一种消息流控方法,包括:

设置滑动窗口,所述滑动窗口包含至少一个消息窗口;

滑动所述滑动窗口,在当前滑动窗口的位置范围限定下,基于所述消息窗口发送消息;

其中,所述滑动窗口的滑动间隔包含至少一个消息窗口。

根据本发明的一些实施例,所述滑动所述滑动窗口,在当前滑动窗口的位置范围限定下,基于所述消息窗口发送消息,包括:

判断所述当前滑动窗口的剩余容量是否大于零,若是,则在所述当前滑动窗口内发送消息,否则在所述当前滑动窗口内不发送消息。

进一步的,所述滑动所述滑动窗口,在当前滑动窗口的位置范围限定下,基于所述消息窗口发送消息,包括:

判断是否有待发送的即时消息,若是,则优先发送所述即时消息,否则发送群发消息。

在本发明的一些实施例中,所述判断是否有待发送的即时消息,包括:

在每个所述消息窗口的起始时刻,判断是否有待发送的即时消息;

在所述群发消息发送过程中,判断是否有待发送的即时消息。

在本发明的一些实施例中,所述发送群发消息,包括:

所述消息窗口接收所述群发消息的申请;

所述消息窗口按照时间顺序、均匀发送所述群发消息。

在本发明的一些实施例中,所述滑动所述滑动窗口,在当前滑动窗口的位置范围限定下,基于所述消息窗口发送消息,包括:

判断待发送的所述即时消息的消息量是否小于所述当前滑动窗口的剩余容量,若是,则在所述当前滑动窗口内发送所述即时消息,否则,在所述当前滑动窗口内不发送所述即时消息并反馈错误信息,或者发送个数为所述当前滑动窗口的剩余容量的所述即时消息且将超出所述当前滑动窗口的剩余容量的所述即时消息丢弃或排队至下一个滑动窗口。

进一步的,所述滑动所述滑动窗口,在当前滑动窗口的位置范围限定下,基于所述消息窗口发送消息,包括:

当待发送的所述即时消息的消息量小于所述当前滑动窗口的剩余容量时,发送完所述即时消息后,发送所述群发消息。

更进一步的,所述滑动所述滑动窗口,在当前滑动窗口的位置范围限定下,基于所述消息窗口发送消息,包括:

当待发送的所述即时消息的消息量大于当前消息窗口的剩余容量且小于所述当前滑动窗口的剩余容量时,在所述当前消息窗口内发送所有所述即时消息。

本发明实施例还提供一种消息流控装置,包括:

设置模块,用于设置滑动窗口,所述滑动窗口包含至少一个消息窗口;

控制模块,用于滑动所述滑动窗口,在当前滑动窗口的位置范围限定下,基于所述消息窗口发送消息;

其中,所述滑动窗口的滑动时间间隔包含至少一个消息窗口。

根据本发明的一些实施例,所述控制模块,用于:

判断所述当前滑动窗口的剩余容量是否大于零,若是,则在所述当前滑动窗口内发送消息,否则在所述当前滑动窗口内不发送消息。

进一步的,所述控制模块,用于:

判断是否有待发送的即时消息,若是,则优先发送所述即时消息,否则发送群发消息。

在本发明的一些实施例中,所述控制模块,用于:

在每个所述消息窗口的起始时刻,判断是否有待发送的即时消息;

在所述群发消息发送过程中,判断是否有待发送的即时消息。

在本发明的一些实施例中,所述控制模块,用于:

所述消息窗口接收所述群发消息的申请;

所述消息窗口按照时间顺序、均匀发送所述群发消息。

在本发明的一些实施例中,所述控制模块,用于:

判断待发送的所述即时消息的消息量是否小于所述当前滑动窗口的剩余容量,若是,则在所述当前滑动窗口内发送所述即时消息,否则,在所述当前滑动窗口内不发送所述即时消息并反馈错误信息,或者发送个数为所述当前滑动窗口的剩余容量的所述即时消息且超出所述当前滑动窗口的剩余容量的所述即时消息丢弃或排队至下一个滑动窗口。

进一步的,所述控制模块,用于:

当待发送的所述即时消息的消息量小于所述当前滑动窗口的剩余容量,发送完所述即时消息后,发送所述群发消息。

更进一步的,所述控制模块,用于:

当待发送的所述即时消息的消息量大于当前消息窗口的剩余容量且小于所述当前滑动窗口的剩余容量时,在所述当前消息窗口内发送所有所述即时消息。

本发明实施例还提供一种消息流控设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的方法的步骤。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述的方法的步骤。

采用本发明实施例,通过滑动窗口可以控制发送至终端的消息量,使得消息均匀、平稳地发送出去,可以有效避免消息发送冲突、网络堵塞的情况,相对于现有技术中的消息发送方法实用性更佳。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的

具体实施方式

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例中消息流控方法的流程示意图;

图2是本发明实施例中滑动窗口滑动示意图;

图3是本发明实施例中消息流控方法的流程示意图;

图4是本发明实施例中消息流控装置的结构示意图;

图5是本发明实施例中消息流控设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,本发明实施例提出一种消息流控方法,包括:

S101,设置滑动窗口,滑动窗口包含至少一个消息窗口;

S102,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息;

其中,滑动窗口的滑动间隔包含至少一个消息窗口。

可以理解的是,滑动窗口中包含正整数个消息窗口,例如,如图2所示,滑动窗口的时长为3秒,消息窗口的时长为1秒,则滑动窗口包含有三个消息窗口。滑动窗口的滑动间隔包含正整数个消息窗口,这里的“滑动窗口的滑动间隔”可以理解为:滑动窗口每滑动一次就从相邻的第一位置a滑动至第二位置b,第一位置a的起始时刻与第二位置b的起始时刻之间的时间间隔即为滑动窗口的滑动间隔,需要说明的是,这里的第一位置a与第二位置b是相对而言的,第一位置a与第二位置b均随着滑动窗口的滑动而发生位置的变化。滑动窗口用于控制所有消息(包括群发消息和即时消息)的流量,消息窗口可以控制群发消息的流量。

采用本发明实施例,通过滑动窗口可以控制发送至终端的消息量,使得消息均匀、平稳地发送出去,可以有效避免消息发送冲突、网络堵塞的情况,相对于现有技术中的消息发送方法实用性更佳。

在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。

如图2所示,根据本发明的一些实施例,滑动间隔时长小于滑动窗口的时长,即滑动窗口在相邻的第一位置a与第二位置b有重叠。由此,即使在第一位置a处滑动窗口的尾部(例如最后一个消息窗口)存在消息未能发送的情况,当滑动窗口滑动至第二位置b处时,仍可以将该消息窗口内的消息发送出去。

根据本发明的一些实施例,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

判断当前滑动窗口的剩余容量是否大于零,若是,则在当前滑动窗口内发送消息,否则在当前滑动窗口内不发送消息。

例如,如图2所示,滑动窗口的时长为3秒,消息窗口的时长为1秒,滑动间隔为2秒,假设每秒发送10条消息,滑动窗口从相邻的第一位置a滑动至第二位置b,当滑动窗口位于第一位置a时,滑动窗口依次包含第一消息窗口1、第二消息窗口2、第三消息窗口3,当滑动窗口位于第二位置b时,滑动窗口依次包含第三消息窗口3、第四消息窗口4、第五消息窗口5,若滑动窗口在第一位置a时,消息通过第三消息窗口3发送30条消息,则滑动窗口滑动至第二位置b时,滑动窗口的剩余容量为零,若滑动窗口在第一位置a时,消息通过第三消息窗口3发送的消息量小于30条,则滑动窗口滑动至第二位置b时,滑动窗口的剩余容量不为零。

在本发明的一些示例中,在整个滑动窗口中,如果有即时消息待发送,则根据滑动窗口的总消息量减去已经发送的消息数量,进行发送,并在对应的消息窗口记录已经发送的消息量,消息窗口有剩余,则再进行群发消息申请和发送。例如,记录上一个滑动窗口末下发的消息总量和滑动窗口的消息量得到在下一个滑动窗口末可下发消息总量,在下一个滑动窗口内时,系统下发消息总量不能超过该值,从而保证了系统下发的总流控,并且保证了系统不会出现网络拥塞。

进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

判断是否有待发送的即时消息,若是,则优先发送即时消息,否则发送群发消息。

可以理解的是,即时消息优先于群发消息,只要有待发送的即时消息,则优先发送即时消息。由此,可以满足终端用户的需求,为终端用户提供更佳的服务。“即时消息”可以为终端用户的实时聊天消息,“群发消息”可以是为终端用户提供的广告、通知等消息。

基于滑动窗口的控制,即时消息是如果系统需要下发即时消息,如果没有过流量,则立即下发,而群发消息则可以采用队列的方式均匀的轮训的方式依次按照时间片段进行下发。

在本发明的一些实施例中,判断是否有待发送的即时消息,包括:

在每个消息窗口的起始时刻,判断是否有待发送的即时消息;

在群发消息发送过程中,判断是否有待发送的即时消息。

在每个消息窗口的起始时刻,若有待发送的即时消息,则优先发送即时消息,否则发送群发消息;在群发消息发送过程中,若有待发送的即时消息,则停止发送群发消息,发送即时消息。由此,可以保证即时消息的实时性。

在本发明的一些实施例中,发送群发消息,包括:

消息窗口接收群发消息的申请;

消息窗口按照时间顺序、均匀发送群发消息。

可以理解的是,群发消息按照申请的方式进行排队发送,消息窗口根据群发消息申请的先后顺序,依次发送群发消息。由此,可以使得群发消息能够均匀、平稳地发送。

例如,在滑动窗口中每个消息窗口的起始时间,没有即时消息需要发送,则向消息窗口申请的方式,在对应的消息队列放入对应数量的群发消息,按照时间先后,均匀的发送群发消息。在消息窗口下发群发消息时,如果检测到系统有即时消息需要下发,则暂停消息窗口的群发消息,进行即时消息下发,如果在消息窗口内,新的即时消息已经全部下发,则恢复已经暂停的群发消息,继续发送剩余量的群发消息。

在本发明的一些实施例中,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

判断待发送的即时消息的消息量是否小于当前滑动窗口的剩余容量,若是,则在当前滑动窗口内发送即时消息,否则,在当前滑动窗口内不发送即时消息并反馈错误信息,或者发送个数为当前滑动窗口的剩余容量的即时消息且将超出当前滑动窗口的剩余容量的即时消息丢弃或排队至下一个滑动窗口。

例如,如果当前滑动窗口的消息总量仍然不能满足即时消息需要的消息数量,则根据具体的企业配置,多余的即时消息丢弃或者放到待缓冲队列中在下次滑动窗口中优先发送。

进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

当待发送的即时消息的消息量小于当前滑动窗口的剩余容量时,发送完即时消息后,发送群发消息。

可以理解的是,若即时消息发送完成后,当前滑动窗口仍有剩余容量,则开始发送群发消息。

更进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

当待发送的即时消息的消息量大于当前消息窗口的剩余容量且小于当前滑动窗口的剩余容量时,在当前消息窗口内发送所有即时消息。

可以理解的是,如果即时消息把当前滑动窗口的可发送的消息总量已经用完,则在当前的滑动窗口内,同组的其他后续消息窗口batch点,不再发送任何消息。具体的,如果在消息窗口内,新的即时消息没有全部下发,即消息窗口的数量不能满足即时消息的消息量,则使用该消息窗口在整个滑动窗中同组的消息窗口的数量进行发送。由于即时消息需要很强的即时性,所以发送的时刻并不是后续的消息窗口的时刻,而是当前的时刻,但是后续消息窗口的可以发送的数量进行了累加计算,后续消息窗口时间到了的时候,是否发送群发消息,取决于消息窗口累加值与消息窗口值得差值,如果差值为零,即滑动窗口的剩余容量是否为零,若是,则不群发消息。

例如,如图2所示,滑动窗口的时长为3秒,消息窗口的时长为1秒,假设每秒发送10条消息,滑动窗口依次包含第一消息窗口1、第二消息窗口2、第三消息窗口3,当在第一消息窗口1检测到待发送的即时消息为30条,滑动窗口的剩余容量为30条消息,则在第一消息窗口1发送30条即时消息,第二消息窗口2与第三消息窗口3均不发送消息。

下面参照图3以一个具体的实施例详细描述根据本发明实施例的消息流控方法。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。

本发明实施例提出一种消息流控方法,该消息流控方法可以应用于融合通信中,对单个企业发送给终端用户的各种消息(包括即时消息和群发消息)进行总体控制。

如图3所示,所述消息流控方法包括:

S201,设置滑动窗口的长度、滑动间隔以及消息窗口的批处理batch单位时长。

需要说明的是,滑动窗口需要包含正整数个消息窗口,滑动窗口的滑动间隔需要包含正整数个消息窗口。例如,滑动窗口的长度可以3秒,滑动间隔可以为2秒,消息窗口的batch单位时长(即消息窗口的时长)可以为1秒。若消息发送的速率为每秒10条,则滑动窗口消息容量为30条,每个消息窗口的总量为10条。

S202,获取当前滑动窗口的剩余容量。

S203,判断当前滑动窗口的剩余容量是否大于零,若是,则跳至步骤S204,否则,跳至步骤S205。

S204,在当前滑动窗口内的消息窗口内依次放入剩余容量条群发消息,并跳至步骤S206。

S205,在当前滑动窗口内不发送消息。

S206,判断是否有即时消息待发送,若是,则跳至步骤S207,否则,跳至步骤S208。

S207,暂停发送群发消息,准备发送即时消息,并跳至步骤S209。

S208,发送群发消息,并实时检测是否有即时消息。

需要说明的是,群发消息按照申请的方式进行排队发送,消息窗口根据群发消息申请的先后顺序,依次发送群发消息。换言之,群发消息是采用队列的方式均匀、轮训依次按照时间片段进行下发。

S209,判断待发送的即时消息的消息量是否小于当前滑动窗口的剩余容量,若是,则跳至步骤S210,否则,跳至步骤S211。

S210,在当前滑动窗口内发送即时消息,并在即时消息发送完毕后跳回步骤S202。

S211,在当前滑动窗口内不发送即时消息并反馈错误信息,或者发送个数为当前滑动窗口的剩余容量的即时消息且将超出当前滑动窗口的剩余容量的即时消息丢弃或排队至下一个滑动窗口。

由于在一个滑动窗口内的消息总量是一定的,即在某一个时间段内的消息总量是一定的,即时消息和群发消息的总量得到了控制。通过消息窗口,可以在这个消息窗口内控制群发消息的发送量,并且如果在消息窗口内已经发送了即时消息,则暂停群发消息,从而避免在网络上消息过多。可以解决rcs即时消息和群发消息的冲突,综合两种窗的技术可以解决网络拥塞的现象。

采用本发明实施例,群发消息的量会得到控制,即时消息不会暴增,可以有效的对一个企业消息下发到终端用户的消息流控,解决了同一个企业的即时消息和群发消息的的冲突时,突发消息数目过多和网络拥塞的问题,而且某一个企业的流控更加精准,企业下发消息负载更加均衡和平稳。消息按照不同类型属于不同队列,不同队列的优先级不同,下发到终端的消息总量按照滑动窗口的数量进行总体控制,即时消息优先插队群发消息。

需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

如图4所示,本发明实施例还提供一种消息流控装置100,包括:

设置模块110,用于设置滑动窗口,滑动窗口包含至少一个消息窗口;

控制模块120,用于滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息;

其中,滑动窗口的滑动时间间隔包含至少一个消息窗口。

可以理解的是,滑动窗口中包含正整数个消息窗口,例如,如图2所示,滑动窗口的时长为3秒,消息窗口的时长为1秒,则滑动窗口包含有三个消息窗口。滑动窗口的滑动间隔包含正整数个消息窗口,这里的“滑动窗口的滑动间隔”可以理解为:滑动窗口每滑动一次就从相邻的第一位置a滑动至第二位置b,第一位置a的起始时刻与第二位置b的起始时刻之间的时间间隔即为滑动窗口的滑动间隔,需要说明的是,这里的第一位置a与第二位置b是相对而言的,第一位置a与第二位置b均随着滑动窗口的滑动而发生位置的变化。

采用本发明实施例,通过设置滑动窗口,可以控制发送至终端的消息量,使得消息均匀、平稳地发送出去,可以有效避免消息发送冲突、网络堵塞的情况,相对于现有技术中的消息发送方法实用性更佳。

在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。

根据本发明的一些实施例,控制模块120,用于:

判断当前滑动窗口的剩余容量是否大于零,若是,则在当前滑动窗口内发送消息,否则在当前滑动窗口内不发送消息。

例如,如图2所示,滑动窗口的时长为3秒,消息窗口的时长为1秒,滑动间隔为2秒,假设每秒发送10条消息,滑动窗口从相邻的第一位置a滑动至第二位置b,当滑动窗口位于第一位置a时,滑动窗口依次包含第一消息窗口1、第二消息窗口2、第三消息窗口3,当滑动窗口位于第二位置b时,滑动窗口依次包含第三消息窗口3、第四消息窗口4、第五消息窗口5,若滑动窗口在第一位置a时,消息通过第三消息窗口3发送30条消息,则滑动窗口滑动至第二位置b时,滑动窗口的剩余容量为零,若滑动窗口在第一位置a时,消息通过第三消息窗口3发送的消息量小于30条,则滑动窗口滑动至第二位置b时,滑动窗口的剩余容量不为零。

进一步的,控制模块120,用于:

判断是否有待发送的即时消息,若是,则优先发送即时消息,否则发送群发消息。

可以理解的是,即时消息优先于群发消息,只要有待发送的即时消息,则优先发送即时消息。由此,可以满足终端用户的需求,为终端用户提供更佳的服务。“即时消息”可以为终端用户的实时聊天消息,“群发消息”可以是为终端用户提供的广告、通知等消息。

在本发明的一些实施例中,控制模块120,用于:

在每个消息窗口的起始时刻,判断是否有待发送的即时消息;

在群发消息发送过程中,判断是否有待发送的即时消息。

在每个消息窗口的起始时刻,若有待发送的即时消息,则优先发送即时消息,否则发送群发消息;在群发消息发送过程中,若有待发送的即时消息,则停止发送群发消息,发送即时消息。由此,可以保证即时消息的实时性。

在本发明的一些实施例中,控制模块120,用于:

消息窗口接收群发消息的申请;

消息窗口按照时间顺序、均匀发送群发消息。

可以理解的是,群发消息按照申请的方式进行排队发送,消息窗口根据群发消息申请的先后顺序,依次发送群发消息。由此,可以使得群发消息能够均匀、平稳地发送。

在本发明的一些实施例中,控制模块120,用于:

判断待发送的即时消息的消息量是否小于当前滑动窗口的剩余容量,若是,则在当前滑动窗口内发送即时消息,否则,在当前滑动窗口内不发送即时消息并反馈错误信息,或者发送个数为当前滑动窗口的剩余容量的即时消息且超出当前滑动窗口的剩余容量的即时消息丢弃或排队至下一个滑动窗口。

进一步的,控制模块120,用于:

当待发送的即时消息的消息量小于当前滑动窗口的剩余容量,发送完即时消息后,发送群发消息。

可以理解的是,若即时消息发送完成后,当前滑动窗口仍有剩余容量,则开始发送群发消息。

更进一步的,控制模块120,用于:

当待发送的即时消息的消息量大于当前消息窗口的剩余容量且小于当前滑动窗口的剩余容量时,在当前消息窗口内发送所有即时消息。

例如,如图2所示,滑动窗口的时长为3秒,消息窗口的时长为1秒,假设每秒发送10条消息,滑动窗口依次包含第一消息窗口1、第二消息窗口2、第三消息窗口3,当在第一消息窗口1检测到待发送的即时消息为30条,滑动窗口的剩余容量为30条消息,则在第一消息窗口1发送30条即时消息,第二消息窗口2与第三消息窗口3均不发送消息。

本发明实施例还提供一种消息流控设备1000,如图5所示,包括:存储器1010、处理器1020及存储在所述存储器1010上并可在所述处理器1020上运行的计算机程序,所述计算机程序被所述处理器1020执行时实现如下方法步骤:

S101,设置滑动窗口,滑动窗口包含至少一个消息窗口;

S102,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息;

其中,滑动窗口的滑动间隔包含至少一个消息窗口。

采用本发明实施例,通过滑动窗口可以控制发送至终端的消息量,使得消息均匀、平稳地发送出去,可以有效避免消息发送冲突、网络堵塞的情况,相对于现有技术中的消息发送方法实用性更佳。

根据本发明的一些实施例,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:判断当前滑动窗口的剩余容量是否大于零,若是,则在当前滑动窗口内发送消息,否则在当前滑动窗口内不发送消息。

进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:判断是否有待发送的即时消息,若是,则优先发送即时消息,否则发送群发消息。

在本发明的一些实施例中,判断是否有待发送的即时消息,包括:

在每个消息窗口的起始时刻,判断是否有待发送的即时消息;

在群发消息发送过程中,判断是否有待发送的即时消息。

在本发明的一些实施例中,发送群发消息,包括:

消息窗口接收群发消息的申请;

消息窗口按照时间顺序、均匀发送群发消息。

在本发明的一些实施例中,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:判断待发送的即时消息的消息量是否小于当前滑动窗口的剩余容量,若是,则在当前滑动窗口内发送即时消息,否则,在当前滑动窗口内不发送即时消息并反馈错误信息,或者发送个数为当前滑动窗口的剩余容量的即时消息且将超出当前滑动窗口的剩余容量的即时消息丢弃或排队至下一个滑动窗口。

进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:当待发送的即时消息的消息量小于当前滑动窗口的剩余容量时,发送完即时消息后,发送群发消息。

更进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:当待发送的即时消息的消息量大于当前消息窗口的剩余容量且小于当前滑动窗口的剩余容量时,在当前消息窗口内发送所有即时消息。

本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传输的实现程序,所述程序被处理器1020执行时实现如下方法步骤:

S101,设置滑动窗口,滑动窗口包含至少一个消息窗口;

S102,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息;

其中,滑动窗口的滑动间隔包含至少一个消息窗口。

采用本发明实施例,通过滑动窗口可以控制发送至终端的消息量,使得消息均匀、平稳地发送出去,可以有效避免消息发送冲突、网络堵塞的情况,相对于现有技术中的消息发送方法实用性更佳。

根据本发明的一些实施例,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

判断当前滑动窗口的剩余容量是否大于零,若是,则在当前滑动窗口内发送消息,否则在当前滑动窗口内不发送消息。

进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

判断是否有待发送的即时消息,若是,则优先发送即时消息,否则发送群发消息。

在本发明的一些实施例中,判断是否有待发送的即时消息,包括:

在每个消息窗口的起始时刻,判断是否有待发送的即时消息;

在群发消息发送过程中,判断是否有待发送的即时消息。

在本发明的一些实施例中,发送群发消息,包括:

消息窗口接收群发消息的申请;

消息窗口按照时间顺序、均匀发送群发消息。

在本发明的一些实施例中,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

判断待发送的即时消息的消息量是否小于当前滑动窗口的剩余容量,若是,则在当前滑动窗口内发送即时消息,否则,在当前滑动窗口内不发送即时消息并反馈错误信息,或者发送个数为当前滑动窗口的剩余容量的即时消息且将超出当前滑动窗口的剩余容量的即时消息丢弃或排队至下一个滑动窗口。

进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

当待发送的即时消息的消息量小于当前滑动窗口的剩余容量时,发送完即时消息后,发送群发消息。

更进一步的,滑动滑动窗口,在当前滑动窗口的位置范围限定下,基于消息窗口发送消息,包括:

当待发送的即时消息的消息量大于当前消息窗口的剩余容量且小于当前滑动窗口的剩余容量时,在当前消息窗口内发送所有即时消息。

本实施例所述计算机可读存储介质包括但不限于为:ROM、RAM、磁盘或光盘等。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、方法、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、方法、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:区块链系统的流量控制方法、装置、介质及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!