CN111352746B - 消息限流方法、存储介质 - Google Patents

消息限流方法、存储介质 Download PDF

Info

Publication number
CN111352746B
CN111352746B CN202010083718.7A CN202010083718A CN111352746B CN 111352746 B CN111352746 B CN 111352746B CN 202010083718 A CN202010083718 A CN 202010083718A CN 111352746 B CN111352746 B CN 111352746B
Authority
CN
China
Prior art keywords
message
group
access
access application
application
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.)
Active
Application number
CN202010083718.7A
Other languages
English (en)
Other versions
CN111352746A (zh
Inventor
刘德建
林伟
郭玉湖
陈宏�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Tianquan Educational Technology Ltd
Original Assignee
Fujian Tianquan Educational Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Tianquan Educational Technology Ltd filed Critical Fujian Tianquan Educational Technology Ltd
Priority to CN202010083718.7A priority Critical patent/CN111352746B/zh
Publication of CN111352746A publication Critical patent/CN111352746A/zh
Application granted granted Critical
Publication of CN111352746B publication Critical patent/CN111352746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种消息限流方法、存储介质,方法包括:配置生成消息明细时均添加对应的类型字段,所述类型字段包括对应是否由群消息生成的字段以及对应群ID的字段;接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量;若连续两次以上的统计结果均超出预设阈值,则依据消息明细的类型字段获取所述接入应用中群消息明细生成数量前N多的群ID,对所述N个群ID对应的群进行限流,所述N大于等于1。本发明不仅能够保证消息***的稳定性与可用性;且同时具有执行效率高、资源占用少以及实用性强等特点。

Description

消息限流方法、存储介质
技术领域
本发明涉及消息推送***领域,具体涉及消息限流方法、存储介质。
背景技术
在现在很多***或者APP中,都需要使用IM聊天这样的功能,而IM聊天通讯软件的使用过程会产生两种消息:一种为点对点的单人聊天消息;一种为群聊的聊天消息。其具体的原理为:一条点对点的单人聊天消息,将产生1条消息明细,并记录到对应人员的信息记录列表中,这边暂定一个名称,为个人收件箱。如果一条群聊的聊天消息,一个群里有500人,一条群聊消息将产生500条的消息明细,并记录到这对应的500个人的个人收件箱中。
因为群聊消息产生的消息明细较多,将会给推送***带来巨大的压力。所以现在很多的***为了缓解这样的压力,会设置多种的限制措施。比如设置群数量的上限,比如设置一个群中成员的数量等等,都是为了限制群聊消息产生过多的消息明细消息。可是随着业务增大,只会产生越来越多的群,且存在一些群成员较大的群。平常的时候,这样的群发送消息,***能够正常支持,但是,当节假日或者特殊日子或时刻,大群的活跃度将大幅度提升,相应的消息数量剧增,消息的发送频率极有可能会超过***的整体容量,从而影响消息***的稳定性以及可用性。
现有***中,一般的做法就是对于所有消息推送***中的推送模块进行消息频率的限流,或者对于每一个群中发送的消息数量进行限流,即设置一定的阈值。此时,如果对于每一个群设置一个较低的阈值,***并没有完全发挥出其应该有的功能出来,会影响用户的体验性。如果设置一个较高的阈值,又有可能会影响***的整体性能与稳定性,给整个消息***带来影响。
因此,有必要提供一种更优化的消息限流方法,能够兼顾消息***的稳定性和可用性。
发明内容
本发明所要解决的技术问题是:提供消息限流方法、存储介质,能兼顾消息***的稳定性和可用性。
为了解决上述技术问题,本发明采用的技术方案为:
一种消息限流方法,包括:
配置生成消息明细时均添加对应的类型字段,所述类型字段包括对应是否由群消息生成的字段以及对应群ID的字段;
接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量;
若连续两次以上的统计结果均超出预设阈值,则依据消息明细的类型字段获取所述接入应用中群消息明细生成数量前N多的群ID,对所述N个群ID对应的群进行限流,所述N大于等于1。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序再被处理器执行时,能够实现上述一种消息限流方法所包含的步骤。
本发明的有益效果在于:本发明通过监控反馈机制,周期性监控各接入应用的负载是否达到阈值,若是,则对其大流量的群执行限流,从而保护整个消息***的稳定性和可用性,为用户提供良好的体验。
附图说明
图1为本发明实施例一种消息限流方法的流程示意图;
图2为图1对应的消息***架构示意图;
图3为本发明实施例一一种消息限流方法的流程示意图。
标号说明:
1-N1、客户端应用;2、接入集群;21-2N、接入应用;3、消息处理集群;3-3N、消息处理应用。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:通过监控反馈机制,周期性监控各接入应用的负载是否达到阈值,若是,则对其大流量的群执行限流。
本发明涉及的技术术语解释:
Figure GDA0004228643000000031
请参照图1,本发明提供一种消息限流方法,包括:
配置生成消息明细时均添加对应的类型字段,所述类型字段包括对应是否由群消息生成的字段以及对应群ID的字段;
接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量;
若连续两次以上的统计结果均超出预设阈值,则依据消息明细的类型字段获取所述接入应用中群消息明细生成数量前N多的群ID,对所述N个群ID对应的群进行限流,所述N大于等于1。
进一步地,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,之前,还包括:
接入应用发送消息至客户端应用后,更新消息总数记录表,同时依据生成的消息明细的类型字段更新群消息记录表,所述消息总数记录表中的字段包括客户端应用ID、当前时间点以及消息发送总量,所述群消息记录表中的字段包括客户端应用ID、当前时间点、群ID以及的群消息数量。
进一步地,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,具体为:
接入集群的各接入应用周期性依据所述消息总数记录表统计与自身连接的客户端应用的消息推送总量。
进一步地,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,具体为:
接入集群的各接入应用周期性依据所述消息总数记录表统计与自身连接的客户端应用的消息推送总量。
由上述描述可知,每个接入应用同时维护消息总数记录表和群消息记录表两张表,能够在后续周期性统计和统计各个群的流量时快速、高效且准确地获取结果,显著提高消息限流效率。
进一步地,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,之后,还包括:
若一次统计结果未超出预设阈值,则清除缓存中之前记录的所有统计结果。
由上述描述可知,通过及时清除无用的记录信息,能够减少资源占用。
进一步地,所述对所述N个群ID对应的群进行限流,具体为:
消息处理集群的一消息处理应用接收到一群消息后,判断所述群消息对应的群ID是否为被限流的群ID,若是,则将所述群消息存储至延时队列,当达到预设的延时时间后进行所述群消息的处理。
由上述描述可知,被限流的群将被控制延时处理群消息,以确保其他更多的消息能够及时处理,维护***稳定。
进一步地,还包括:
若连续两次以上的统计结果均未超出预设阈值,则解除对所述N个群ID的限流。
由上述描述可知,当接入应用的负载未超阈值,则及时解除限流,以提高群成员的使用体验。
进一步地,各接入应用通过其创建的独立异步线程执行所述周期性统计步骤和判断是否连续两次以上的统计结果均超出预设阈值及其后的步骤;
消息处理集群通过其创建的独立异步线程执行限流操作。
由上述描述可知,接入应用和消息处理集群均能够在不影响自身业务处理的前提下执行消息流量监控和限流,具备良好实用性的同时,还能使***更具稳健性。
进一步地,所述N依据预设百分比确定。
由上述描述可知,能够使限流对象的确定更准确,更灵活。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序再被处理器执行时,能够实现下述一种消息限流方法所包含的步骤:
配置生成消息明细时均添加对应的类型字段,所述类型字段包括对应是否由群消息生成的字段以及对应群ID的字段;
接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量;
若连续两次以上的统计结果均超出预设阈值,则依据消息明细的类型字段获取所述接入应用中群消息明细生成数量前N多的群ID,对所述N个群ID对应的群进行限流,所述N大于等于1。
进一步地,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,之前,还包括:
接入应用发送消息至客户端应用后,更新消息总数记录表,同时依据生成的消息明细的类型字段更新群消息记录表,所述消息总数记录表中的字段包括客户端应用ID、当前时间点以及消息发送总量,所述群消息记录表中的字段包括客户端应用ID、当前时间点、群ID以及的群消息数量。
进一步地,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,具体为:
接入集群的各接入应用周期性依据所述消息总数记录表统计与自身连接的客户端应用的消息推送总量。
进一步地,所述依据消息明细的类型字段获取所述接入应用中群消息明细生成数量按大至小排名后的前N个群ID,具体为:
依据群消息记录表获取周期内接入应用连接的客户端应用中群消息明细生成数量按大至小排名后的前N个群ID。
进一步地,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,之后,还包括:
若一次统计结果未超出预设阈值,则清除之前记录的所有统计结果。
进一步地,所述对所述N个群ID对应的群进行限流,具体为:
消息处理集群的一消息处理应用接收到一群消息后,判断所述群消息对应的群ID是否为被限流的群ID,若是,则将所述群消息存储至延时队列,当达到预设的延时时间后进行所述群消息的处理。
进一步地,还包括:
若连续两次以上的统计结果均未超出预设阈值,则解除对所述N个群ID的限流。
进一步地,各接入应用通过其创建的独立异步线程执行所述周期性统计步骤和判断是否连续两次以上的统计结果均超出预设阈值及其后的步骤;
消息处理集群通过其创建的独立异步线程执行限流操作。
进一步地,所述N依据预设百分比确定。
从上述描述可知,对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。所述程序在被处理器执行后,同样能够实现对应各方法的有益效果。
其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
实施例一
请参照图2和图3,本实施例提供一种消息限流方法,包括:
S1:部署消息限流***,如图2所示的消息限流***包括多个的客户端应用1-N1、由多个的接入应用21-2N构成的接入集群2以及由多个的消息处理应用31-3N构成的消息处理集群3。
所述消息限流***整体流程大致如下:所有客户端均与接入集群建立长链接,通过该长链接进行消息的发送,包括点对点的聊天以及群聊消息;接入集群接收到消息后,发送信息至消息处理集群,由该集群进行消息处理,待其消息处理完毕后,发送通知消息给接入集群中对应的接入应用,由该应用进行最后的消息推送,发送聊天消息至对应的客户端完成一次信息交互。
假设每个接入应用最多接入50000的客户端长链接,每个接入应用最多的消息发送并发量为1000/秒,当超过这个消息发送并发量时,将会给接入应用带来压力,并导致消息延迟。
在上述基础上,所述方法还包括:
S2:配置生成消息明细时均添加对应的类型字段,所述类型字段包括对应是否由群消息生成的字段以及对应群ID的字段;
也就是说,需要针对旧有消息格式进行改造,将原本由一条群消息生成的多条消息明细(分别对应各个群成员)中无类型区分,现在需要额外配置类型字段“is_group”表示是否由群消息生成的消息明细,以及“group_id”表示是由哪一个群生成的消息明细。
S3:接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量;
具体而言,接入集群中的每个接入应用,启动后需要存在一个独立的异步统计线程。该线程用来每隔预设时间(如5秒)统计该应用的消息推送总量。特别的,异步统计线程还将定时把接入应用在本地内存中统计的数据记录到数据库中,方便后续的查询使用。
S4:若统计结果超出预设阈值,则记录一次,若连续两个以上周期的统计结果均超出消息推送总量,则自动触发告警与自动限流操作。
比如对应接入应用消息发送并发量为1000/秒,则5秒之内消息发送总量超过5000条的,则说明已经达到了消息发送上限,可以记录一次;当连续的5个时间间隔之内,每次均超过了消息发送总量,则会自动触发告警与自动限流操作。
所述自动限流操作为选取本接入应用中生成群消息明细最多的N个群ID进行限流。具体而言,依据消息明细的类型字段对所述接入应用中群消息明细生成数量按大至小排名(也可从小至大排名),而后选取前N个(对应从小至大排名则选取后N个)群ID,发送对应所述N个群ID对应的群进行限流的限流通知消息至数据处理集群,所述N大于等于1。
可选地,所述N依据预设百分比确定。比如选择生成群消息明细最多的30%的群ID进行限流通知和限流。
在一具体实例中,消息处理集群发出的限流通知消息格式为:[群ID,群ID,群ID];同时该通知消息需要持久化数据库,方便后续查询使用。
S5:当消息处理集群接收到所述限流通知消息后,通过其独立的异步线程处理执行限流策略。
所述限流策略为任何一个群消息发送过来时,消息处理集群会先判断该群消息对应的群ID是否为被限流的群ID,若是,将发送该群消息至一个延时队列中,在达到预设的延时时间后再进行所述群消息的处理。例如延时时间为5秒,具体可以根据业务实际情况而定。
S6:当***压力减少时,若接入应用连续两次以上的统计结果均未超出预设阈值,则解除对所述N个群ID的限流。
比如连续5个周期的统计结果均未达到阈值,则触发解除限流。之后,将会查询数据库中本接入应用已经发送的限流通知消息,获取未解除限流通知的群ID,进行解除限流通知消息发送;当消息处理集群中收到这些解除限流通知消息时,将会去除对应群ID的限流判断。
本实施例可以实现在接入应用压力大时针对发送群消息较为频繁的大群进行动态地消息限流,进而保护整个消息***的稳定性与可用性。
实施例二
本实施例在实施例一的基础上做进一步限定,以提高接入应用周期性统计的效率,以及大流量群的锁定效率。
本实施例在实施例一的基础上,在S3步骤之前,还包括以下步骤:
S301:接入应用发送消息至客户端应用后,更新消息总数记录表,并依据所生产的消息明细的类型字段更新群消息记录表;
其中,所述消息总数记录表中的字段包括客户端应用ID、当前时间点以及消息发送总量;所述群消息记录表中的字段包括客户端应用ID、当前时间点、群ID以及的群消息数量。
也就是说,在接入应用最后推送消息至对应的客户端应用后,将更新其维护的消息总数记录表total_num,可选数据格式为“key为统计时间点,value为消息发送总量”;并且,在消息发送完毕后,将生成对应的消息明细,消息明细中添加类型字段(优选数据类型为treemap,其中的key为group_id,value为对应的群生成的消息明细),依据消息明细的类型字段更新群消息记录表group_num。
则对应实施例一的步骤S3,其具体执行如下:
S3’:接入集群的各接入应用周期性依据所述消息总数记录表获取与自身连接的客户端应用的消息推送总量。
同时,对应实施例一的步骤S4,其具体执行如下:
S4’:依据群消息记录表获取周期内接入应用连接的客户端应用中群消息明细生成数量按大至小排名后的前N个群ID。
本实施例通过消息总数记录表以及群消息记录表的维护,能够实现在周期性统计时以及大流量群ID统计时快速而准确地获取结果。
实施例三
本实施例对应实施例一或实施例二,提供一具体运用场景:
假设条件:每个接入应用最多接入50000的客户端长链接,每个接入应用最多的消息发送并发量为1000/秒,当超过这个消息发送并发量时,将会给接入应用带来压力,并导致消息延迟。假设存在a、b、和c 4个群,每个群均存在群消息发送的事件。
1、需要针对旧有消息格式进行改造,需要添加类型字段:is_group表示是否由群消息生成的消息明细,以及group_id表示是由哪一个群生成的消息明细。同时,a,b,c,d每个群都有自身的唯一的群ID来标识。
2、接入集群中的每个接入应用,启动后需要存在一个独立的异步统计线程。该线程用来每隔5秒钟统计该应用的消息推送总量。比如接入应用消息发送并发量为1000/秒,则5秒之内消息发送总量超过5000条,则说明已经达到了消息发送上限,可以记录一次,当连续的5个时间间隔之内,每次均超过了消息发送总量,则会自动触发告警与自动限流操作。当每次未达到上限时,将会清除上一次的记录信息,减少资源占用。需要说明的是,此处清除的上次的记录指的是清除或者覆盖缓存中的数据,而独立的异步线程收集并记录到数据库中的数据并不会被清除。
自动限流操作如下步骤3-5的整个流程。
3、接入应用发送消息时,需要进行对应改造。
具体为:需要本地记录消息发送总量(total_num)[数据格式:key为统计时间点,value为接入应用的消息发送总量],同时,需要依据每条消息明细中is_group标志的消息,记录每个群产生的消息明细数量(group_num)[数据格式:采用一个treemap记录格式,其中的key为group_id,value为对应的群生成的消息明细]。
此处的统计数据由步骤2中的异步线程使用。步骤2中的异步线程,每隔5秒钟把接入应用在本地内存中统计的数据记录到数据库中,方便后续的查询使用。(数据库库表有2张,一张为消息总数记录表total_num,主要字段为:接入应用ID、统计时间点,以及消息发送总量;一张为群消息记录表group_num,主要字段为:接入应用ID、统计时间点、群ID,以及群消息发送总量)。当记录完数据库后,将清空本地缓存中已经统计的total_num与group_num为0,为下一次统计数据(即下一个统计周期)做准备。
同时,本异步线程还负担着告警与自动限流的工作。
具体为:查询已经记录数据库的统计信息,即上述两张表。当本接入应用连续的5个时间间隔之内,每次均超过了消息发送总量阈值,将会自动触发告警与自动限流操作。具体查看如下步骤4。
4、当已触发告警与自动限流操作时,步骤3中异步线程将会发送通知消息至消息处理集群中。此处有限流的策略处理。
具体为:选择本应用中生成群消息明细最多的几个群ID,进行最终的消息群消息限流。大体策略为选择生成群消息明细最多的一定百分比(比如30%)的群ID进行限流的通知。如何选择生成群消息明细最多的30%的群ID呢,具体可以通过查询步骤3中记录的group_num表,统计本接入应用最近5个统计时间之内生成群消息明细最多的30%的群ID。
接入集群发送至消息处理集群的通知消息格式为:[群ID,群ID,群ID]。同时该通知消息需要持久化数据库,方便后续查询使用。
5、消息处理集群中,存在一个异步线程处理这些通知消息。当收到这些通知消息时,即可触发限流操作。后续当任何一个群消息发送过来时,消息处理集群中,会预先进行判断,该群消息是否需要进行限流,当需要进行限流时,将发送该群消息至一个延时队列中,延时时间为5秒,具体可以根据业务实际情况而定,当达到延时时间之后,再次进行具体消息的处理。
这边的通知消息来源指的就是步骤4中发送的群限流通知消息,当消息处集群收到这些群限流通知消息后,会预先把该消息中的群ID列表加载至本地缓存中,后续当处理到是一个群消息时,(根据步骤1中的is_group标识来进行区分,任何群消息的消息细节都会带上这个标识),预先判断该群ID是否再限流的ID中,不在,则继续执行旧有逻辑步骤;如存在,则需要进行限流,将该群消息发送至一个延时队列中,延时时间为5秒,具体可以根据业务实际情况而定,当达到延时时间之后,按照旧有逻辑再次进行群消息的处理。(此时是不会再次进行群限流的判断的,因为已经是从延迟队列中进行消息处理了。)
6、当***压力减少时,与步骤2类似,当接入应用已发送限流通知后,连续5个时间间隔已未达到预设的阈值,将会触发解除限流消息通知。具体会查询数据库中本应用已经发送的限流通知消息,如果还有本应用限流的通知消息要取消发送。最后进行解除限流通知消息发送。当消息处理集群中收到这些解除限流通知消息时,将会去除群消息的限流判断。
这边所谓的去除群消息的限流判断,指的是根据解除限流通知消息中的群ID列表,去除步骤5中在本地内存中生成的限流群ID列表,去除后消息处理集群就不会再次针对这些群进行消息的限流了。
实施例四
本实施例对应实施例一至实施例三,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序再被处理器执行时,能够实现上述实施例一至实施例三任意一个实施例所述的一种消息限流方法所包含的步骤。具体的步骤流程在此不进行复述,详情请参阅实施例一至实施例三的记载。
综上所述,本发明提供的一种消息限流方法、存储介质,不仅能够保证消息***的稳定性与可用性;且同时具有执行效率高、资源占用少以及实用性强等特点。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种消息限流方法,其特征在于,包括:
配置生成消息明细时均添加对应的类型字段,所述类型字段包括对应是否由群消息生成的字段以及对应群ID的字段;
接入应用发送消息至客户端应用后,更新消息总数记录表,同时依据生成的消息明细的类型字段更新群消息记录表;其中,所述消息总数记录表中的字段包括客户端应用ID、当前时间点以及消息发送总量,所述群消息记录表中的字段包括客户端应用ID、当前时间点、群ID以及的群消息数量;
接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量;
所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,具体为:
接入集群的各接入应用周期性依据所述消息总数记录表统计与自身连接的客户端应用的消息推送总量;
若连续两次以上的统计结果均超出预设阈值,则依据消息明细的类型字段获取所述接入应用中群消息明细生成数量前N多的群ID,对所述N个群ID对应的群进行限流,所述N大于等于1。
2.如权利要求1所述的一种消息限流方法,其特征在于,所述获取所述接入应用中群消息明细生成数量前N多的群ID,具体为:
依据群消息记录表获取周期内接入应用连接的客户端应用中群消息明细生成数量按大至小排名后的前N个群ID。
3.如权利要求1所述的一种消息限流方法,其特征在于,所述接入集群的各接入应用周期性统计与自身连接的客户端应用的消息推送总量,之后,还包括:
若一次统计结果未超出预设阈值,则清除缓存中之前记录的所有统计结果。
4.如权利要求1所述的一种消息限流方法,其特征在于,所述对所述N个群ID对应的群进行限流,具体为:
消息处理集群的一消息处理应用接收到一群消息后,判断所述群消息对应的群ID是否为被限流的群ID,若是,则将所述群消息存储至延时队列,当达到预设的延时时间后进行所述群消息的处理。
5.如权利要求1所述的一种消息限流方法,其特征在于,还包括:
若连续两次以上的统计结果均未超出预设阈值,则解除对所述N个群ID的限流。
6.如权利要求1所述的一种消息限流方法,其特征在于,各接入应用通过其创建的独立异步线程执行所述周期性统计步骤和判断是否连续两次以上的统计结果均超出预设阈值及其后的步骤;
消息处理集群通过其创建的独立异步线程执行限流操作。
7.如权利要求1所述的一种消息限流方法,其特征在于,所述N依据预设百分比确定,所述预设百分比指预设的群ID总数量的百分比。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序再被处理器执行时,能够实现上述权利要求1-7任意一项所述的一种消息限流方法所包含的步骤。
CN202010083718.7A 2020-02-10 2020-02-10 消息限流方法、存储介质 Active CN111352746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010083718.7A CN111352746B (zh) 2020-02-10 2020-02-10 消息限流方法、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010083718.7A CN111352746B (zh) 2020-02-10 2020-02-10 消息限流方法、存储介质

Publications (2)

Publication Number Publication Date
CN111352746A CN111352746A (zh) 2020-06-30
CN111352746B true CN111352746B (zh) 2023-07-07

Family

ID=71195687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010083718.7A Active CN111352746B (zh) 2020-02-10 2020-02-10 消息限流方法、存储介质

Country Status (1)

Country Link
CN (1) CN111352746B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242245A (zh) * 2021-05-12 2021-08-10 上海绚显科技有限公司 一种tcp消息限流方法、装置、服务器及存储介质
CN113923181B (zh) * 2021-09-30 2023-08-22 北京字跳网络技术有限公司 一种群消息处理方法、装置、***及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018224865A1 (en) * 2017-06-08 2018-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods and network nodes for providing coordinated flowcontrol for a group of sockets in a network
CN110198275A (zh) * 2018-03-28 2019-09-03 腾讯科技(深圳)有限公司 一种流量控制方法、***、服务器及存储介质
CN110297707A (zh) * 2018-03-22 2019-10-01 香港乐蜜有限公司 一种消息传输方法及装置
CN110351357A (zh) * 2019-07-08 2019-10-18 中国平安人寿保险股份有限公司 服务器限流方法、装置、计算机设备以及存储介质
CN110417671A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 数据传输的限流方法和服务器
CN110768912A (zh) * 2019-10-21 2020-02-07 中国民航信息网络股份有限公司 Api网关限流方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018224865A1 (en) * 2017-06-08 2018-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods and network nodes for providing coordinated flowcontrol for a group of sockets in a network
CN110720199A (zh) * 2017-06-08 2020-01-21 瑞典爱立信有限公司 针对网络中的套接字组提供协调流控制的方法和网络节点
CN110297707A (zh) * 2018-03-22 2019-10-01 香港乐蜜有限公司 一种消息传输方法及装置
CN110198275A (zh) * 2018-03-28 2019-09-03 腾讯科技(深圳)有限公司 一种流量控制方法、***、服务器及存储介质
CN110351357A (zh) * 2019-07-08 2019-10-18 中国平安人寿保险股份有限公司 服务器限流方法、装置、计算机设备以及存储介质
CN110417671A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 数据传输的限流方法和服务器
CN110768912A (zh) * 2019-10-21 2020-02-07 中国民航信息网络股份有限公司 Api网关限流方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
巴志超 ; 李纲 ; 毛进 ; 徐健 ; .微信群内部信息交流的网络结构、行为及其演化分析――基于会话分析视角.情报学报.2018,(第10期),第1009-1021页. *
马庆祥 ; 刘钊远 ; .基于Storm的实时报警服务的设计与实现.信息技术.2016,(第12期),第162-166页. *

Also Published As

Publication number Publication date
CN111352746A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN108874640B (zh) 一种集群性能的评估方法和装置
US5787262A (en) System and method for distributed conflict resolution between data objects replicated across a computer network
US8972773B2 (en) Cache data processing using cache cluster with configurable modes
US8370847B2 (en) Managing persistence in a messaging system
US8793362B2 (en) Communications enterprise server monitor
CN112131073B (zh) 服务器的监控方法和***
EP2656218B1 (en) Load shedding in a data stream management system
CN110535713B (zh) 监控管理***以及监控管理方法
JP2007183904A (ja) イベント処理システム、イベント処理方法、イベント処理装置、及び、イベント処理プログラム
CN111352746B (zh) 消息限流方法、存储介质
US20090030956A1 (en) Proactive space allocation in a database system
US20100011098A1 (en) Systems and methods for managing networks
CN105760240A (zh) 分布式任务处理方法及装置
CN112286903B (zh) 一种基于容器化的关系型数据库优化方法及装置
US9235579B1 (en) Scalable enterprise data archiving system
US8185912B1 (en) Rerouting messages to parallel queue instances
CN111538563A (zh) 一种对Kubernetes的事件分析方法及装置
CN111131082A (zh) 一种充电设施数据传输动态控制方法及***
CN110727508A (zh) 一种任务调度***和调度方法
JP2006260056A (ja) 統合運用管理サーバ、統合的な運用管理のためのメッセージの抽出方法、及び、プログラム
CN110990245A (zh) 基于调用链数据的微服务运行状态判断方法及装置
CN110825505B (zh) 任务调度方法、装置、计算机设备及存储介质
CN115379019B (zh) 一种服务调度方法、装置、设备及存储介质
US7068604B2 (en) Managing memory resident queues to control resources of the systems using the queues
CN111563069B (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