一种控制消息发送的方法、电子设备及存储介质与流程

专利2025-03-01  23


本发明涉及消息发送,特别是涉及一种控制消息发送的方法、电子设备及存储介质。


背景技术:

1、对于消息发送端,向消息接收端发送与其相关的消息,能够令使用目标接收端的用户对消息发送端更加了解,因此,消息发送端向消息接收端发送消息是令用户了解消息发送端的重要渠道之一,现有技术中,消息发送端往往会对针对消息接收端设置一个消息限速值,且消息发送端针对不同的消息接收端会设置不同的消息限速值,当消息发送端向消息接收端发送消息请求时,基于消息限速值以及所述消息请求通过消息接收端对应的消息推动平台向消息接收端发送消息,以使得使用消息接收端的用户通过所述消息来了解消息发送端。

2、但是上述方法也存在以下技术问题:

3、上述方法无法同时处理多个消息请求,当消息发送端同时向多个消息接收端发送消息请求时,消息发送端不能够在同一时间向多个消息接收端发送消息,容易引起消息阻塞,进而容易造成消息丢失且当消息发送端同时向多个消息接收端发送多个消息请求时,容易导致消息发送端频繁的向同一个消息接收端发送信息,只能偶尔或者不能给与所述消息接收端不同的其他消息接收端发送信息,影响用户体验。


技术实现思路

1、针对上述技术问题,本发明采用的技术方案为:

2、根据本发明的第一方面,提供了一种控制消息发送的方法,包括如下步骤:

3、s100、获取b={b1,b2,……,bi,……,bm},bi={bi1,bi2,……,bij,……,bin(i)},其

4、中,b为a对应的初始消息队列集合的集合,bi为ai对应的初始消息队列集合,bij为ai对应的第j个初始消息队列,j的取值为1到n(i),n(i)为ai对应的初始消息队列数量,其中,a={a1,a2,……,ai,……,am},a为消息发送端id列表,ai为第i个消息发送端id,i的取值为1到m,m为消息发送端id的数量,初始消息队列的结构是redis结构的数据库,且初始消息队列为null。

5、s200、获取预设消息限速信息集合的集合a0={a01,a02,……,a0i,……,a0m},a0i={a0i1,a0i2,……,a0ir,……,a0is},a0ir={a01ir,a02ir},其中,a0i为ai对应的预设消息限速信息集合,a0ir为a0i中ai对应的第r个消息接收端的预设消息限速信息列表,r的取值为1到s,s为消息接收端的数量,a01ir为a0ir中第r个消息接收端id,a02ir为a0ir中a01ir对应的消息接收端对应的候选消息的预设消息限速值,a01ir对应的消息接收端对应的候选消息为ai对应消息发送端需要发送至a01ir对应的消息接收端的消息,当a01ir对应的消息接收端接收到ai对应的消息发送端向a01ir对应的消息接收端发送的消息请求时,将a01ij、a02ir以及消息请求中的消息插入到为null的列表中并将此列表作为第一消息列表存储到任一bij中,以生成bij对应的第一消息队列fij并构建bi对应的第一消息队列集合fi={fi1,fi2,……,fij,……,fim}。

6、s300、获取预设时间段t0和指定消息数量z1,其中,t0的开始时间点为t1,t0的结束时间点为当前时间点,具体包括如下步骤s301-s305:

7、s301、获取l={l1,l2,……,ly,……,lq},ly={ly1,ly2,……,lyc,……,lyt},其中,

8、l为历史时间片列表集合,ly为第y个历史时间片列表,y的取值为1到q,q为历史时间片列表的数量,lyc为ly中的第c个历史时间片,c的取值为1到t,t为历史时间片列表中的历史时间片的数量,历史时间片的长度为a,a的计量单位为秒且a的初始值为1。

9、s302、根据l获取r={r1,r2,……,ri,……,rm},ri={ri1,ri2,……,riy,……,riq},

10、riy={r1iy,r2iy,……,rciy,……,rtiy},其中,r为a对应的第一历史信息数量列表集合的集合,ri为ai对应的第一历史信息数量列表集合,riy为ai对应的第y个第一历史信息数量列表,rciy为在lyc中ai对应的第一历史信息数量,ai对应的第一历史信息数量为ai对应的消息发送端在历史时间片内发送出的消息的数量。

11、s303、当riy中rciy=max(r1iy,r2iy,……,rciy,……,rtiy)且rciy+r(c+1)iy+……+rbiy>∑tc=1rciy

12、×α时,将riy中rciy,r(c+1)iy,……,rbiy存储到一个为null的列表中,并将其列表作为r0iy={r01iy,r02iy,……,r0giy,……,r0w(iy)iy},其中,r0iy为ai对应的第y个第二历史信息数量列表,r0giy为r0iy中的第g个第二历史信息数量,g的取值为1到w(iy),w(iy)为r0iy中的第二历史信息数量,rbiy为在lyb中ai对应的第一历史信息数量,lyb为ly中的第b个历史时间片,b的取值为c到t,其中,α为用于调整第二历史信息数量的第一预设参数,max()为最大值获取函数。

13、s304、根据r0giy获取z2,z2为待选消息数量值且z2符合如下条件:

14、z2=∑mi=1(∑qy=1(∑w(iy)g=1r0giy/w(iy))/q)/m。

15、s305、当z2≤∑mi=1(∑qy=1(∑tc=1rciy/t)/q)/m×d时,确定z1=z2且t1符合如下条件:t1=t2-t3,t2为当前时间点,t3为预设时间段的长度且t3的计量单位为秒,其中,d为用于调整指定消息数量的第二预设参数,t3符合如下条件:

16、t3=∑mi=1(∑qy=1w0(iy)/q)/m×a,w0(iy)为r0iy对应的第三历史信息数量且w0(iy)的取值与r0w(iy)iy中的w(iy)相同;否则,令a=2×a并进入步骤s301。

17、s400、根据t0、z1和fij获取bij对应的待发送消息队列cij并构建bi对应的待发送消息队列集合ci={ci1,ci2,……,cij,……,cim}。

18、s500、基于cij中的待发送消息列表中存储的a02ir,将待发送消息列表中存储的消息发送至待发送消息列表中存储的a01ir对应的消息接收端。

19、根据本发明的第二方面,提供了一种非瞬时性计算机可读存储介质,存储介质中存储有计算机程序或至少一条计算机可执行指令,计算机程序或至少一条计算机可执行指令由处理器加载并执行以实现前述的方法。

20、根据本发明的第三方面,提供了一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述的方法。

21、本发明至少具有以下有益效果:

22、本发明提供了一种控制消息发送的方法、电子设备及存储介质,对于每一个消息发送端都能够基于redis结构的数据库构建若干个为null的初始消息队列,当消息接收端接收到消息发送端发送的消息请求时,则将所述消息接收端的消息接收端id、所述消息接收端对应的候选消息的预设消息限速值以及所述消息请求中的消息插入到为null的列表,并将此列表存储到任意一个所述消息发送端对应的初始消息队列中构建第一消息队列集合,获取预设时间段和指定消息数量,基于预设时间段、指定消息数量和第一消息队列集合中的第一消息队列,确定待发送消息队列,将存储在待发送消息队列中的消息发送给存储在待发送消息队列中的消息接收端id对应的消息接收端,上述方法能够同时对若干个待发送消息队列进行处理,因此,执行上述方法能够同时处理多个消息请求,能够避免引起消息阻塞进而不会造成消息丢失,能够避免待发送消息队列中存储有同一个消息接收端id的待发送消息列表数量过多引起的消息发送端频繁的向所述消息接收端id对应的消息接收端发送信息、只能偶尔或者不能给与所述消息接收端id不同的其他消息接收端id对应的消息接收端发送信息,有利于提高用户体验感,也能够避免因相关技术人员根据实际经验确定预设时间段的起始时间点和指定消息数量,导致指定消息数量设置过大或预设时间段的起始时间点设置过小,进而能够避免获取过多的关键消息列表,避免内存占用过多造成资源浪费。


技术特征:

1.一种控制消息发送的方法,其特征在于,所述方法包括如下步骤:

2.根据权利要求1所述的控制消息发送的方法,其特征在于,每一ai对应的消息发送端同时可以向一个或者多个消息接收端发送消息请求。

3.根据权利要求1所述的控制消息发送的方法,其特征在于,每一初始消息队列中最多能够存储δd个第一消息列表,δd为预设的消息数量阈值。

4.根据权利要求1所述的控制消息发送的方法,其特征在于,在步骤s400中包括如下子步骤:

5.根据权利要求3所述的控制消息发送的方法,其特征在于,在步骤s500中还包括如下子步骤:

6.根据权利要求5所述的控制消息发送的方法,其特征在于,当a01ir对应的消息接收端对应的候选消息的实际消息发送速率小于a02ir时,将存储在ai对应的预设存储空间内的中间消息列表中存储的消息发送至所述中间消息列表中存储的a01ir对应的消息接收端。

7.根据权利要求5所述的控制消息发送的方法,其特征在于,所述预设存储空间为本地存储器内的存储空间。

8.一种非瞬时性计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或至少一条计算机可执行指令,所述计算机程序或至少一条计算机可执行指令由处理器加载并执行以实现如权利要求1-7中任意一项的所述方法。

9.一种电子设备,其特征在于,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一项的所述方法。


技术总结
本发明提供了一种控制消息发送的方法、电子设备及存储介质,当消息接收端接收到消息发送端发送的消息请求时,基于所述消息接收端的消息接收端ID、所述消息接收端对应的候选消息的预设消息限速值以及消息请求中的消息构建第一消息队列集合,根据预设时间段、指定消息数量和第一消息队列确定待发送消息队列,将存储在待发送消息队列中的消息发送给存储在待发送消息队列中的消息接收端ID对应的消息接收端,上述方法能同时对若干个待发送消息队列进行处理,因此,能够避免引起消息阻塞,进而不会造成消息丢失,避免消息发送端频繁的向同一个消息接收端发送信息、偶尔或者不能给与所述消息接收端不同的其他消息接收端发送信息。

技术研发人员:陈建斌,周瑞慧,叶新江
受保护的技术使用者:每日互动股份有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1816711.html

最新回复(0)