System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 消息推送系统、方法、管理服务器及存储介质技术方案_技高网

消息推送系统、方法、管理服务器及存储介质技术方案

技术编号:44866321 阅读:4 留言:0更新日期:2025-04-08 00:09
本申请涉及通信技术领域,公开了一种消息推送系统、方法、管理服务器及存储介质,通过管理服务器将消息推送任务拆分为若干个子任务,其中,每一个子任务对应一个工作服务器;将子任务对应的子任务信息存储至数据库;再通过工作服务器从数据库中获取子任务信息,并根据子任务信息,将消息推送给接收端,本申请能够解耦管理服务器与工作服务器,在工作服务器上以独立的多个子任务的方式运行,提高了消息推送的效率,同时,每个子任务之间不会互相干扰,也不会因为某个子任务的故障而影响其他进程的正常运行,提高了消息推送系统的稳定性。

【技术实现步骤摘要】

本申请实施方式涉及通信,特别是涉及一种消息推送系统、方法、管理服务器及存储介质


技术介绍

1、消息推送(push notification)是一种主动将信息通过特定平台发送给用户的技术,其广泛应用于社交媒体、新闻应用、电商平台等各类移动应用中。消息推送允许运营人员通过自己的产品或第三方工具对用户移动设备进行主动消息推送。消息推送的实现原理主要包括轮询(pull)方式、sms(push)方式和持久连接(push)方式。其中,持久连接方式是现代消息推送服务中最常用的方式,它通过在客户端和服务器之间建立长久连接,实现消息的及时性和实时性。

2、目前,现有的消息推送系统在任务执行进度控制方面存在不足。具体来说,多数消息推送系统在设计时未充分考虑对任务执行进度的精细控制,当面临大量推送任务时,现有的消息推送系统无法有效地分配资源,导致任务执行效率低下或任务堆积,进而导致消息推送的效率低下。此外,现有的消息推送系统也不具备服务器宕机时的自我修复能力,例如,当某一个工作服务器发生故障或宕机时,系统无法自动恢复推送任务,导致整个消息推送任务中断。


技术实现思路

1、本申请实施例提供一种消息推送系统、方法、管理服务器及存储介质,通过解耦管理服务器与工作服务器,在工作服务器上以独立的多个子任务的方式运行,提高了消息推送的效率,同时,每个子任务之间不会互相干扰,也不会因为某个子任务的故障而影响其他进程的正常运行,提高了消息推送系统的稳定性。

2、本申请实施例提供以下技术方案:</p>

3、第一方面,本申请实施例提供一种消息推送系统,系统包括:

4、前端模块,通信连接管理服务器,前端模块用于创建消息推送任务;

5、管理服务器,分别通信连接前端模块和工作服务器,管理服务器用于将消息推送任务拆分为若干个子任务,其中,每一个子任务对应一个工作服务器;将子任务对应的子任务信息存储至数据库,其中,子任务信息包括消息;

6、工作服务器,分别通信连接管理服务器和接收端,工作服务器用于从数据库中获取子任务信息,并根据子任务信息,将消息推送给接收端。

7、在一些实施例中,前端模块还用于获取用户设定的推送速度;

8、管理服务器具体用于根据用户设定的推送速度、用户数量和推送总时长,将消息推送任务拆分为若干个子任务,其中,子任务的数量=用户数量/(用户设定的推送速度*推送总时长)。

9、在一些实施例中,管理服务器还用于对子任务进行分片,得到任务分片;为每一个任务分片分配一个进程,并将任务分片与进程对应的标识号进行绑定;将每个进程对应的标识号记录至数据库。

10、在一些实施例中,子任务信息包括任务进度和任务状态;

11、管理服务器还用于创建任务进度管理进程,其中,任务进度管理进程用于每间隔固定时间对数据库中的任务进度和任务状态进行轮询;通过任务进度管理进程,获取任务状态为执行中的子任务;从数据库中获取任务状态为执行中的子任务对应的工作服务器的ip地址;通过工作服务器的ip地址,获取子任务当前的任务进度和任务状态,并将数据库中子任务对应的任务进度和任务状态更新为子任务当前的任务进度和任务状态。

12、在一些实施例中,前端模块还用于获取任务暂停指令,并将任务暂停指令发送给管理服务器;

13、管理服务器还用于根据任务暂停指令,从数据库中获取任务暂停指令对应的子任务信息;根据子任务信息,获取执行子任务的工作服务器的ip地址;根据ip地址,向工作服务器下发任务暂停指令;

14、工作服务器还用于在接收到任务暂停指令之后,向子任务对应的进程发送任务暂停信号,以中断消息推送任务。

15、在一些实施例中,前端模块还用于获取任务恢复指令,并将任务恢复指令发送给管理服务器;

16、管理服务器还用于根据任务恢复指令,从数据库中获取任务恢复指令对应的子任务信息;根据子任务信息,获取执行子任务的工作服务器的ip地址;根据ip地址,向工作服务器下发任务恢复指令;

17、工作服务器还用于在接收到任务恢复指令之后,向子任务对应的进程发送任务恢复信号,以恢复消息推送任务。

18、在一些实施例中,前端模块还用于获取任务终止指令,并将任务终止指令发送给管理服务器;

19、管理服务器还用于根据任务终止指令,从数据库中获取任务终止指令对应的子任务信息;根据子任务信息,获取执行子任务的工作服务器的ip地址;根据ip地址,向工作服务器下发任务终止指令;

20、工作服务器还用于在接收到任务终止指令之后,向子任务对应的进程发送任务终止信号,以终止消息推送任务。

21、在一些实施例中,工作服务器包括第一工作服务器和第二工作服务器;

22、管理服务器还用于通过任务进度管理进程,向第一工作服务器进行问询,并判断本次问询是否被第一工作服务器响应;若本次问询没有被第一工作服务器响应,则将第一工作服务器的状态修改为宕机状态;向第二工作服务器发送任务分配消息,以将第一工作服务器对应的子任务分配给第二工作服务器,其中,第二工作服务器为空闲状态的工作服务器;

23、第二工作服务器用于接收任务分配消息,其中,任务分配消息包括子任务信息以及子任务的执行进度;根据任务分配消息,创建子任务对应的多个进程;通过进程,将消息推送给接收端。

24、第二方面,本申请实施例提供一种消息推送方法,应用于管理服务器,管理服务器通信连接工作服务器,方法包括:

25、获取消息推送任务;

26、将消息推送任务拆分为若干个子任务,其中,每一个子任务对应一个工作服务器;

27、将子任务对应的子任务信息存储至数据库,以使工作服务器从数据库中获取子任务信息,并根据子任务信息,将消息推送给接收端。

28、第三方面,本申请实施例提供一种管理服务器,包括:

29、至少一个处理器;和

30、与至少一个处理器通信连接的存储器;其中,

31、存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第二方面的消息推送方法。

32、第四方面,本申请实施例提供一种非易失性计算机可读存储介质,非易失性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使电子设备执行如第二方面的消息推送方法。

33、本申请实施方式的有益效果是:区别于现有技术的情况,本申请实施方式提供一种消息推送系统,系统包括:前端模块,通信连接管理服务器,前端模块用于创建消息推送任务;管理服务器,分别通信连接前端模块和工作服务器,管理服务器用于将消息推送任务拆分为若干个子任务,其中,每一个子任务对应一个工作服务器;将子任务对应的子任务信息存储至数据库,其中,子任务信息包括消息;工作服务器,分别通信连接管理服务器和接收端,工作服务器用于从数据库中获取子任务信息,并根据子任务信息,将消息本文档来自技高网...

【技术保护点】

1.一种消息推送系统,其特征在于,所述系统包括:

2.根据权利要求1所述的系统,其特征在于,

3.根据权利要求1所述的系统,其特征在于,

4.根据权利要求3所述的系统,其特征在于,所述子任务信息包括任务进度和任务状态;

5.根据权利要求4所述的系统,其特征在于,

6.根据权利要求5所述的系统,其特征在于,

7.根据权利要求5所述的系统,其特征在于,

8.根据权利要求4所述的系统,其特征在于,所述工作服务器包括第一工作服务器和第二工作服务器;

9.一种消息推送方法,其特征在于,应用于管理服务器,所述管理服务器通信连接工作服务器,所述方法包括:

10.一种管理服务器,其特征在于,包括:

11.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机存储介质中存储有计算机程序或指令,当所述计算机程序或指令被执行时,实现如权利要求9所述的消息推送方法。

【技术特征摘要】

1.一种消息推送系统,其特征在于,所述系统包括:

2.根据权利要求1所述的系统,其特征在于,

3.根据权利要求1所述的系统,其特征在于,

4.根据权利要求3所述的系统,其特征在于,所述子任务信息包括任务进度和任务状态;

5.根据权利要求4所述的系统,其特征在于,

6.根据权利要求5所述的系统,其特征在于,

7.根据权利要求5所述的系统,其特征在于,

8....

【专利技术属性】
技术研发人员:林哲鹏
申请(专利权)人:微民保险代理有限公司
类型:发明
国别省市:

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

1