System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及即时通讯,具体涉及一种企业群消息限流方法、装置、设备及存储介质。
技术介绍
1、随着企业im(instantmessaging,即时通讯)发展,一些大型企业的工作人员的数量日益增加,达到万人级别,在工作过程中,工作人员的沟通需求也呈线性增长;在工作人员的日常沟通中,通常需要跨部门以及跨子公司,从而出现了包含千人以上甚至万人以上的企业群。在im企业群场景下,如果发生消息风暴,例如企业群中有大量的红包消息和表情消息,会给整个im企业群带来巨大的通信负担,可能会导致消息阻塞、丢失以及大量延迟等问题。
技术实现思路
1、本专利技术提供一种企业群消息限流方法、装置、设备及存储介质,用以解决消息风暴情况下的消息阻塞、丢失以及大量延迟的技术问题。
2、为了解决上述技术问题,第一方面,本专利技术提供一种企业群消息限流方法,该方法包括:
3、使长连接网关接收客户端发送的消息体,并将所述消息体发送至消息转发服务,所述消息体包括用户id和业务消息体;
4、使所述消息转发服务根据所述用户id从用户消息服务中获取用户信息,并根据所述用户信息判断所述消息体是否为优先消息体;
5、若所述消息体为优先消息体,则调用消息处理服务对所述消息体对应的实体类代码信息进行处理;
6、若所述消息体不为优先消息体,则根据令牌桶算法,确定是否调用所述消息处理服务对所述消息体对应的实体类代码信息进行处理。
7、可选地,所述根据令牌桶算法,确定是否
8、若当前令牌桶中存在令牌,则调用消息处理服务对所述消息体对应的实体类代码信息进行处理,否则,不调用所述消息处理服务。
9、可选地,所述不调用所述消息处理服务之后,还包括:
10、将拒绝调用事件回写至所述长连接网关,使所述长连接网关将所述拒绝调用事件回写至所述客户端,以使所述客户端在感知所述拒绝调用事件后进行页面提示渲染。
11、可选地,所述调用消息处理服务对所述消息体对应的实体类代码信息进行处理,包括:
12、根据所述业务消息体,调用群聊处理服务或者单聊处理服务,对所述消息体对应的实体类代码信息进行处理。
13、可选地,所述群聊处理服务用于对群聊红包消息和公告消息进行处理,所述单聊处理服务用于对单聊红包消息和抖一抖消息进行处理。
14、可选地,所述用户信息包括用户职级和用户权重,相应的,所述根据所述用户信息判断所述消息体是否为优先消息体,包括:
15、若所述用户职级大于预设职级,则判定所述消息体为优先消息体,否则判断所述用户权重是否大于预设权重,若所述用户权重大于预设权重,则判定所述消息体为优先消息体,若所述用户权重不大于预设权重,则判定所述消息体不为优先消息体。
16、可选地,在所述使长连接网关接收客户端发送的消息体之前,还包括:
17、使客户端对所述长连接网关发起连接建立请求,以建立所述客户端与所述长连接网关之间的连接;
18、使客户端获取所述用户id以及所述业务消息体,将所述用户id以及所述业务消息体组装成所述消息体,将所述消息体转化为二进制数组,得到二进制化的消息体;
19、使所述客户端发送所述二进制化的消息体至所述长连接网关,以使所述长连接网关接收客户端发送的所述二进制化的消息体。
20、第二方面,本专利技术提供一种企业群消息限流装置,包括消息体转发模块、消息体判断模块、第一信息处理模块以及第二信息处理模块;
21、所述消息体转发模块,用于使长连接网关接收客户端发送的消息体,并将所述消息体发送至消息转发服务,所述消息体包括用户id和业务消息体;
22、所述消息体判断模块,用于使所述消息转发服务根据所述用户id从用户消息服务中获取用户信息,并根据所述用户信息判断所述消息体是否为优先消息体;
23、所述第一信息处理模块,用于在所述消息体为优先消息体时,调用消息处理服务对所述消息体对应的实体类代码信息进行处理;
24、所述第二信息处理模块,用于在所述消息体不为优先消息体时,根据令牌桶算法,确定是否调用所述消息处理服务对所述消息体对应的实体类代码信息进行处理。
25、第三方面,本专利技术提供一种企业群消息限流设备,包括存储器和处理器,其中:
26、所述存储器用于存储计算机程序;
27、所述处理器用于读取所述存储器中的程序并执行如上述第一方面提供的企业群消息限流方法的步骤。
28、第四方面,本专利技术提供一种计算机可读存储介质,其上存储有可读的计算机程序,该程序被处理器执行时实现如上述第一方面提供的企业群消息限流方法的步骤。
29、与现有技术相比,本专利技术提供的一种企业群消息限流方法、装置、设备及存储介质,具有以下有益效果:
30、使长连接网关接收客户端发送的消息体,并将所述消息体发送至消息转发服务,所述消息体包括用户id和业务消息体;使所述消息转发服务根据所述用户id从用户消息服务中获取用户信息,并根据所述用户信息判断所述消息体是否为优先消息体;若所述消息体为优先消息体,则调用消息处理服务对所述消息体对应的实体类代码信息进行处理;若所述消息体不为优先消息体,则根据令牌桶算法,确定是否调用所述消息处理服务对所述消息体对应的实体类代码信息进行处理;根据消息体以及相应的用户信息判断消息体是否为优先消息体,以保证优先消息体可以进行优先处理,同时利用令牌桶算法对其他消息体进行限流,保证了重要用户的用户体验,还可以避免消息阻塞、丢失以及大量延迟。
本文档来自技高网...【技术保护点】
1.一种企业群消息限流方法,其特征在于,包括:
2.根据权利要求1所述的企业群消息限流方法,其特征在于,所述根据令牌桶算法,确定是否调用所述消息处理服务对所述消息体对应的实体类代码信息进行处理,包括:
3.根据权利要求2所述的企业群消息限流方法,其特征在于,所述不调用所述消息处理服务之后,还包括:
4.根据权利要求1或2所述的企业群消息限流方法,其特征在于,所述调用消息处理服务对所述消息体对应的实体类代码信息进行处理,包括:
5.根据权利要求4所述的企业群消息限流方法,其特征在于,所述群聊处理服务用于对群聊红包消息和公告消息进行处理,所述单聊处理服务用于对单聊红包消息和抖一抖消息进行处理。
6.根据权利要求1所述的企业群消息限流方法,其特征在于,所述用户信息包括用户职级和用户权重,相应的,所述根据所述用户信息判断所述消息体是否为优先消息体,包括:
7.根据权利要求1所述的企业群消息限流方法,其特征在于,在所述使长连接网关接收客户端发送的消息体之前,还包括:
8.一种企业群消息限流装置,其特征在于,
9.一种企业群消息限流设备,其特征在于,包括存储器和处理器,其中:
10.一种计算机可读存储介质,其特征在于,其上存储有可读的计算机程序,该程序被处理器执行时实现如权利要求1~7任一所述的企业群消息限流方法的步骤。
...【技术特征摘要】
1.一种企业群消息限流方法,其特征在于,包括:
2.根据权利要求1所述的企业群消息限流方法,其特征在于,所述根据令牌桶算法,确定是否调用所述消息处理服务对所述消息体对应的实体类代码信息进行处理,包括:
3.根据权利要求2所述的企业群消息限流方法,其特征在于,所述不调用所述消息处理服务之后,还包括:
4.根据权利要求1或2所述的企业群消息限流方法,其特征在于,所述调用消息处理服务对所述消息体对应的实体类代码信息进行处理,包括:
5.根据权利要求4所述的企业群消息限流方法,其特征在于,所述群聊处理服务用于对群聊红包消息和公告消息进行处理,所述单聊处理服务用于对单聊红包消息和抖一抖消息进行处理。
<...【专利技术属性】
技术研发人员:付思成,
申请(专利权)人:深圳市跨越新科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。