不定时消息推送方法及装置制造方法及图纸

技术编号:27131537 阅读:18 留言:0更新日期:2021-01-25 20:08
本发明专利技术涉及一种不定时消息推送方法及装置,包括获取提醒数据,根据所述提醒数据构造数据结构;初始化相关变量,根据所述相关变量获取待发送消息并推送至消息队列,用于以固定时间间隔调度待发送消息;根据所述数据结构以及消息队列定制待发送消息,根据业务规范定制待发送消息的内容并推送至智能终端。本发明专利技术自定义任务不同工作项在每天的执行时间,监管端按照设置的执行时间,推送督办消息到用户手机应用;本申请通过结合环形链表、树形等数据结构,利用定时器,缓存、消息队列以及多线程等技术实现不定时向大量用户推送消息。术实现不定时向大量用户推送消息。术实现不定时向大量用户推送消息。

【技术实现步骤摘要】
不定时消息推送方法及装置


[0001]本专利技术属于通信
,具体涉及一种不定时消息推送方法及装置。

技术介绍

[0002]监管单位要求市场主体单位在移动应用上完成主体自查任务,监管单位在管理端后台发布周期性任务,在主体单位接收到任务之后,食品安全管理员负责相应的任务分发以及完成,不同的任务由对应的员工完成;不同的检查项在一天不同的时间完成,管理员设置不同任务的执行时间。在设置不同的提醒时间之后,监管端需要按照预设的时间自动推送督办消息,以提醒工作人员完成任务。
[0003]相关技术中,是每个主体单位每天可能涉及到几十项检查任务,执行人数不等,执行时间分布通常是早上5点至晚上12点,一个地区的主体单位数量大概是几千至几十万不等。但是定时调度推送消息给用户,存在以下缺点:
[0004]一则是只能通过轮询的方式获取待处理的消息,造成资源的浪费;
[0005]二则是定时的机制会造成执行时间不精确,大量处理过程滞后,且数十万用户同时接收消息的高并发问题。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于克服现有技术的不足,提供一种不定时消息推送方法及装置,以解决现有技术中获取待处理消息时,资源浪费以及处理过程之后,用户同时接收消息的高并发的问题。
[0007]为实现以上目的,本专利技术采用如下技术方案:一种不定时消息推送方法,包括:
[0008]获取提醒数据,根据所述提醒数据构造数据结构;
[0009]初始化相关变量,根据所述相关变量获取待发送消息并推送至消息队列,用于以固定时间间隔调度待发送消息;
[0010]根据所述数据结构以及消息队列定制待发送消息,根据业务规范定制待发送消息的内容并推送至智能终端。
[0011]进一步的,在所述获取提醒数据之前,还包括:
[0012]预设提醒数据并保存至数据库。
[0013]进一步的,所述相关变量包括:
[0014]任务ID、主体单位ID、任务开发日期、任务结束日期、状态标识关系、检查项ID关系、主体单位ID、执行人ID、执行时间关系、每个线程最大处理的数据量、周期间隔、执行任务线程数。
[0015]进一步的,所述时间关系包括执行时间;根据所述提醒数据构造数据结构,包括:
[0016]抽取时间关系中的执行时间,并过滤所述执行时间中的重复时间后构建环形链表L1;
[0017]以环形链表L1中的节点Ni为根节点,顺序号为子节点subNi;
[0018]以Ni+顺序号为key,时间关系数据记录以字符串形式转换为元素Ei,每个key下最多存储maxN个元素;
[0019]顺序号subNi是从1开始计数,当前节点的子集合NiT元素大于maxN时,生成下一个顺序号作为子节点。
[0020]进一步的,所述初始化相关变量,根据所述相关变量获取待发送消息并推送至消息队列,包括:
[0021]将所述定时器设置为根据节点Ni下的子节点数量新建线程,每个所述线程生成消息子过程;
[0022]所述消息子过程生成待发送消息形成消息队列。
[0023]进一步的,所述智能终端中设有APP,所述APP用于接收待发送消息的内容。
[0024]进一步的,当所述执行时间关系发生变化时,更新所述数据结构。
[0025]本申请实施例提供一种不定时消息推送装置,包括:
[0026]构造模块,用于获取提醒数据,根据所述提醒数据构造数据结构;
[0027]订阅模块,用于初始化相关变量,根据所述相关变量获取待发送消息并推送至消息队列,用于以固定时间间隔调度待发送消息;
[0028]推送模块,用于根据所述数据结构以及消息队列定制待发送消息,根据业务规范定制待发送消息的内容并推送至智能终端。
[0029]进一步的,还包括:
[0030]预设模块,用于预设提醒数据并保存至数据库。
[0031]本申请实施例提供一种控制器,用于执行上述任一实施例提供的不定时消息推送方法。
[0032]本专利技术采用以上技术方案,能够达到的有益效果包括:
[0033]本专利技术提供一种不定时消息推送方法,本申请自定义任务不同工作项在每天的执行时间,监管端按照设置的执行时间,推送督办消息到用户手机应用;本申请通过结合环形链表、树形等数据结构,利用定时器,缓存、消息队列以及多线程等技术实现不定时向大量用户推送消息。
附图说明
[0034]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术不定时消息推送方法的步骤示意图;
[0036]图2为本专利技术环形链表结构示意图;
[0037]图3为本专利技术树形数据结构示意图;
[0038]图4为本专利技术不定时消息推送装置的结构示意图。
具体实施方式
[0039]为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行
详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。
[0040]下面结合附图介绍本申请实施例中提供的一个具体的不定时消息推送方法。
[0041]如图1所示,本申请实施例中提供的不定时消息推送方法包括:
[0042]S101,获取提醒数据,根据所述提醒数据构造数据结构;
[0043]S102,初始化相关变量,根据所述相关变量获取待发送消息并推送至消息队列,用于以固定时间间隔调度待发送消息;
[0044]S103,根据所述数据结构以及消息队列定制待发送消息,根据业务规范定制待发送消息的内容并推送至智能终端。
[0045]优选的,在所述获取提醒数据之前,还包括:
[0046]预设提醒数据并保存至数据库。
[0047]不定时消息推送方法的工作原理为:本申请通过服务器实现,预先设置提醒数据,将设置好的提醒数据保存至数据库中;服务器首先初始化相关变量,通过数据库获取到提醒数据,根据提醒数据构造数据结构,根据相关变量生成待发送消息并推送至消息队列,根据消息队列和数据结构定制待发送消息,根据业务规范的需要定制待发送消息的内容,发送至智能终端。
[0048]本申请解决了定时调度用户个性化的精准时刻推送要求;同时解决了数十万用户同时接收消息的高并发问题。
[0049]一些实施例中,所述相关变量包括:每个线程最大处理的数据量、周期间隔、执行任务线程数;
[0050]所述提醒数据包括:任务ID、主体单位ID、任务开发日期、任务结束日期、状态标识关系、检查项ID关系、主体单位ID、执行人ID、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种不定时消息推送方法,其特征在于,包括:获取提醒数据,根据所述提醒数据构造数据结构;初始化相关变量,根据所述相关变量获取待发送消息并推送至消息队列,用于以固定时间间隔调度待发送消息;根据所述数据结构以及消息队列定制待发送消息,根据业务规范定制待发送消息的内容并推送至智能终端。2.根据权利要求1所述的方法,其特征在于,在所述获取提醒数据之前,还包括:预设提醒数据并保存至数据库。3.根据权利要求1或2所述的方法,其特征在于,所述相关变量包括:每个线程最大处理的数据量、周期间隔、执行任务线程数;所述提醒数据包括:任务ID、主体单位ID、任务开发日期、任务结束日期、状态标识关系、检查项ID关系、主体单位ID、执行人ID、执行时间关系。4.根据权利要求3所述的方法,其特征在于,所述时间关系包括执行时间;根据所述提醒数据构造数据结构,包括:抽取时间关系中的执行时间,并过滤所述执行时间中的重复时间后构建环形链表L1;以环形链表L1中的节点Ni为根节点,顺序号为子节点subNi;以Ni+顺序号为key,时间关系数据记录以字符串形式转换为元素Ei,每个key下最多存储maxN个元素;顺序号subNi是从1开始计数,...

【专利技术属性】
技术研发人员:任美全张立党国利连守财
申请(专利权)人:北京金和网络股份有限公司
类型:发明
国别省市:

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

1