通知消息的推送方法及装置、存储介质、电子装置与流程

文档序号:17843339发布日期:2019-06-11 21:27阅读:123来源:国知局
通知消息的推送方法及装置、存储介质、电子装置与流程
本发明涉及计算机领域,具体而言,涉及一种通知消息的推送方法及装置、存储介质、电子装置。
背景技术
:相关技术中,网页平台的营销活动是指在周年,节日等时间举办的吸引商家和消费者的线上活动。比如周年活动、情人节、季度活动、双11活动等。在活动运营或者日常运营期间,可能会碰到下面几种需求:在某个活动开始前,需要定向对几百万的用户进行批量的push发送,通知进行参与活动。或者是,用户自主订阅了某个活动(比如团购10点开抢提醒),系统需要提前对所有订阅的用户发送短信提醒。相关技术中,对于上述需求的提醒,如果提醒时间过早(比如9点就提醒开抢),中间间隔时间过久用户可能会遗忘,导致通知效果不佳;如果提醒过晚,则可能由于通道的流量挤压(比如短信每分钟只能发送1000条)、或者过多的用户需要提醒(比如团购网站平时只有10w用户,双11当天有1000w用户。平时从9点40开始提醒是来得及的,双11当天从9点40开始提醒则来不及),导致很多用户没有办法准时及时的处理,造成非常不好的用户体验。相关技术是固定在某个时间点开始批量的用户触达推送,同时这个开始时间点可以手动修改,相关技术中的方案过于粗暴,严重依赖于运营人员的经验以及人力监控。如果没有及时关注到数据量的波动,或者没有历史处理过的经验,可能调整的开始发送时间也还是不能很合理,严重浪费人力成本,且用户体验不可保证,如申请号为cn201711205590的相关技术公开了一种基于定时推送的智能学生接送系统,每天向终端定时推动秘钥。针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。技术实现要素:本发明实施例提供了一种通知消息的推送方法及装置、存储介质、电子装置。根据本发明的一个实施例,提供了一种通知消息的推送方法,包括:确定用于推送通知消息的触达渠道的通信能力,其中,所述通信能力用于表征所述触达渠道传输所述通知消息的传输速度;根据所述传输速度计算推送任务的触发时刻;在所述触发时刻到达时,使用所述触达渠道向接收端推送所述通知消息。可选的,根据所述传输速度计算推送任务的触发时刻包括:确定推送任务的消息量,以及完成时刻;根据所述消息量、所述完成时刻、所述传输速度,计算得到所述触发时刻。可选的,根据所述消息量、所述完成时刻、所述传输速度,计算得到所述触发时刻包括:通过以下公式计算得到触发时刻:s=σδti*ui*ai;其中,所述s为所述消息量,δti为第i时间段的时长,ui为第i时间段的传输速度,ai为第i时间段的预设缓冲度,i为从所述完成时刻所在的时间段开始依次往前推进的相邻时间段。可选的,确定用于推送通知消息的触达渠道的通信能力包括以下至少之一:确定用于推送通知消息的短信通道的通信能力;确定用于推送通知消息的推送通道的通信能力;确定用于推送通知消息的同步通道的通信能力。可选的,确定用于推送通知消息的触达渠道的通信能力包括:确定所述触达渠道在多个时间段的通信能力,其中,每个时间段的通信能力不同。可选的,确定用于推送通知消息的触达渠道的通信能力包括:确定所述触达渠道的传输路径;在所述传输路径包括多个传输渠道时,在所述多个传输渠道中选择通信能力最差的指定传输渠道的通信能力作为所述触达渠道的通信能力。可选的,所述方法还包括:在使用所述触达渠道向接收端推送所述通知消息的过程中,监控实时推送进度,并根据监控结果控制所述通知消息的实时推送速度。可选的,根据监控结果控制所述通知消息的实时推送速度包括:在监控结果为所述实时推送速度大于或等于预设速度时,保持所述实时推送速度;在监控结果为所述实时推送速度小于所述预设速度时,提高所述实时推送速度。根据本发明的另一个实施例,提供了一种通知消息的推送装置,包括:确定模块,用于确定用于推送通知消息的触达渠道的通信能力,其中,所述通信能力用于表征所述触达渠道传输所述通知消息的传输速度;计算模块,用于根据所述传输速度计算推送任务的触发时刻;推送模块,用于在所述触发时刻到达时,使用所述触达渠道向接收端推送所述通知消息。可选的,所述计算模块包括:确定单元,用于确定推送任务的消息量,以及完成时刻;计算单元,用于根据所述消息量、所述完成时刻、所述传输速度,计算得到所述触发时刻。可选的,所述计算单元用于:通过以下公式计算得到触发时刻:s=σδti*ui*ai;其中,所述s为所述消息量,δti为第i时间段的时长,ui为第i时间段的传输速度,ai为第i时间段的预设缓冲度,i为从所述完成时刻所在的时间段开始依次往前推进的相邻时间段。可选的,所述确定模块包括以下至少之一:第一确定单元,用于确定用于推送通知消息的短信通道的通信能力;第二确定单元,用于确定用于推送通知消息的推送通道的通信能力;第三确定单元,用于确定用于推送通知消息的同步通道的通信能力。可选的,所述确定模块包括:第四确定单元,用于确定所述触达渠道在多个时间段的通信能力,其中,每个时间段的通信能力不同。可选的,所述确定模块包括:第五确定单元,用于确定所述触达渠道的传输路径;选择单元,用于在所述传输路径包括多个传输渠道时,在所述多个传输渠道中选择通信能力最差的指定传输渠道的通信能力作为所述触达渠道的通信能力。可选的,所述装置还包括:控制模块,用于在使用所述触达渠道向接收端推送所述通知消息的过程中,监控实时推送进度,并根据监控结果控制所述通知消息的实时推送速度。可选的,所述控制模块包括:控制单元,用于在监控结果为所述实时推送速度大于或等于预设速度时,保持所述实时推送速度;在监控结果为所述实时推送速度小于所述预设速度时,提高所述实时推送速度。根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。通过本发明,通过确定用于推送通知消息的触达渠道的通信能力,并根据传输速度计算推送任务的触发时刻,在触发时刻到达时,使用触达渠道向接收端推送通知消息,基于触达渠道的通信能力对通知消息进行提前调度,避免了人为调度通知消息而造成通知过早或者通知不及时的问题。解决了相关技术中不能准时推送通知消息的技术问题,提升了用户体验。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例的一种通知消息的推送硬件结构框图;图2是根据本发明实施例的一种通知消息的推送方法流程图;图3是本发明实施场景的实施流程图;图4是根据本发明实施例的一种通知消息的推送装置的结构框图;图5是根据本发明实施例的通知消息的推送系统的结构框图。具体实施方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。实施例1本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种通知消息的推送硬件结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种通知消息的推送方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。在本实施例中提供了一种通知消息的推送方法,图2是根据本发明实施例的一种通知消息的推送方法流程图,如图2所示,该流程包括如下步骤:步骤s202,确定用于推送通知消息的触达渠道的通信能力,其中,通信能力用于表征触达渠道传输通知消息的传输速度;步骤s204,根据传输速度计算推送任务的触发时刻;本实施例的推送任务为将预定消息量的通知消息在预定完成时刻之前推送给对应的接收端。步骤s206,在触发时刻到达时,使用触达渠道向接收端推送通知消息。本实施例的接收端可以是可以无线接收消息的任意终端,也可以是通知消息的订阅终端,或者是预定区域内,预定类型,预定用户集合的终端。通过上述步骤,通过确定用于推送通知消息的触达渠道的通信能力,并根据传输速度计算推送任务的触发时刻,在触发时刻到达时,使用触达渠道向接收端推送通知消息,基于触达渠道的通信能力对通知消息进行提前调度,避免了人为调度通知消息而造成通知过早或者通知不及时的问题。解决了相关技术中不能准时推送通知消息的技术问题,提升了用户体验。在本实施例中,根据传输速度计算推送任务的触发时刻包括:确定推送任务的消息量,以及完成时刻;根据消息量、完成时刻、传输速度,计算得到触发时刻。在一个示例中,根据消息量、完成时刻、传输速度,计算得到触发时刻包括:通过以下公式计算得到触发时刻:s=σδti*ui*ai;其中,s为消息量,δti为第i时间段的时长,ui为第i时间段的传输速度,ai为第i时间段的预设缓冲度,i为从完成时刻所在的时间段开始依次往前推进的相邻时间段(即,从最晚的时间段开始向前推进,如8:00~9:00,然后7:00~8:00…)。推送任务的消息量是预先设置的,如本次营销活动需要推送通知消息20000条,需要在11月11日8:50完成,20000条为消息量,在第一时间段以每分240条的速度推送,在第二时间段以每分200条的速度推送,8:50为完成时刻,传输速度为每分240条,根据上述已知量,可以计算得到触发时刻,使用公式s=σδti*ui*ai,在一个示例中,第一时间段为8:00~9:00,0:00~8:00为第二时间段,其中a1和a2均为20%,即只占用通道能力的80%进行处理,将剩余的20%作为预留带宽,通过s=σδti*ui*ai可知,20000=50*240*80%+t2*200*80%,计算出t2,由于δt2的临界时刻为8:00,因此可以向前推算出触发时刻。可选的,本实施例的触达渠道可以为多个类型的通道,在使用多个触达渠道推动通知消息时,以多个触达渠道的平均通信能力为准,确定用于推送通知消息的触达渠道的通信能力包括以下至少之一:确定用于推送通知消息的短信通道的通信能力;确定用于推送通知消息的推送通道的通信能力;确定用于推送通知消息的同步通道的通信能力。除此之外,还可以是邮件通道,弹窗通道等形式。在本实施例中,由于触达渠道在每个时间的拥塞状态不同,或者是分配的带宽资源不同,在不同时间段的通信能力也不同,确定用于推送通知消息的触达渠道的通信能力包括:确定触达渠道在多个时间段的通信能力,其中,每个时间段的通信能力不同。可选的,本实施例的触达渠道由一条或多条传输路径组成,每条传输路径为一个类型的通信通道(如短信通道、推送通道等),不同类型的通信通道的通信能力不同,确定用于推送通知消息的触达渠道的通信能力包括:s11,确定触达渠道的传输路径;s12,在传输路径包括多个传输渠道时,在多个传输渠道中选择通信能力最差的指定传输渠道的通信能力作为触达渠道的通信能力。多个传输渠道可以串联,或者并联,或者是串联并联形成传输路径,在一个示例中,多个传输渠道串联,通知消息先由数据服务器通过推送通道到达短信服务器,再由短信服务器通过短信通道到达接收端,其中,推送通道的通信能力为每秒200条,短信通道的通信能力为每秒50条,则整个触达渠道的通信能力为每秒50条。可选的,本实施例的方案还包括:在使用所述触达渠道向接收端推送所述通知消息的过程中,监控实时推送进度,并根据监控结果控制所述通知消息的实时推送速度。根据监控结果控制所述通知消息的实时推送速度包括:在监控结果为所述实时推送速度大于或等于预设速度时,保持所述实时推送速度;在监控结果为所述实时推送速度小于所述预设速度时,提高所述实时推送速度。本实施例的预设速度可以是触达渠道的理想速度,或者是理想速度折算缓冲度之后的速度。在本实施例的一个实施场景中,需要在09:55完成通知消息的推送,图3是本发明实施场景的实施流程图,由通道能力收集模块、调度计算模块、批量执行模块,实时调控模块完成各个流程的步骤,下面对其进行详细说明:首先,将所有的调度任务(推送任务)记录在一张任务表里面。如表1所示:表1任务名称任务数据量通道类型完成时间xx活动通知10万短信09:55........通道能力收集模块,用于根据对用户下发的触达渠道,收集每一个渠道在每个时间段的能力(比如短信通道、push通道、sync通道等)。具体通过日常的数据反馈、沟通确认每个时间段的通道能力。例如日常通过系统压测、与运营商协作沟通等进行确认每个通道在每个时间点的通道能力。最终将收集信息如表2所示:表2通道时间段通道通信能力短信通道09:00~09:40每秒200短信通道09:40~09:50每秒300短信通道09:50~09:55每秒200短信通道09:55~10:00每秒300push通道00:00~00:05每秒50......调度计算模块,用于过通道能力收集模块的计算,可以知道每个通道在每个时间段的通道能力。对于接下来要调度的任务,通过与通道能力收集模块的通道能力进行计算,得到任务调度的开始时间。例如,某一个活动是10点开始,需要给10万个用户发送短信进行通知。业务要求在09:55完成通知(预留5分钟给用户打开手机操作)。本实施例预留一个缓冲度,当出现紧急问题时,可以通过缓冲度降低问题。默认将缓冲度设置为20%,即我们只占用通道的能力的80%进行处理。因此对于上面的这个场景,需要开始发送的时间为09:46:24开始。计算的公式为:(09:50:00–09:46:24)*300*0.8+(09:55:00–09:50:00)*200*0.8=10w。批量执行模块,用于通过调度计算模块计算出的任务触发时刻,执行推动任务,任务需要在09:46:24开始执行。在09:46:24~09:50以每秒240的速度进行发送,在09:50~09:55以每秒160的速度进行发送。实时调控模块,用于实时调控模块负责对调度计算模块的批量执行进度进行监控。并根据监控到的结果进行发送任务调整:如果监控到调度计算模块执行进度顺利:则不进行干预;如果监控到批量执行模块执行进度延后:则逐步将每秒的执行量调大,可以利用20%的缓冲度进行处理。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。实施例2在本实施例中还提供了一种通知消息的推送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是根据本发明实施例的一种通知消息的推送装置的结构框图,可以应用在餐饮服务器或终端中,如图4所示,该装置包括:确定模块40,计算模块42,推送模块44,其中,确定模块40,用于确定用于推送通知消息的触达渠道的通信能力,其中,所述通信能力用于表征所述触达渠道传输所述通知消息的传输速度;计算模块42,用于根据所述传输速度计算推送任务的触发时刻;推送模块44,用于在所述触发时刻到达时,使用所述触达渠道向接收端推送所述通知消息。可选的,所述计算模块包括:确定单元,用于确定推送任务的消息量,以及完成时刻;计算单元,用于根据所述消息量、所述完成时刻、所述传输速度,计算得到所述触发时刻。可选的,所述计算单元用于:通过以下公式计算得到触发时刻:s=σδti*ui*ai;其中,所述s为所述消息量,δti为第i时间段的时长,ui为第i时间段的传输速度,ai为第i时间段的预设缓冲度,i为从所述完成时刻所在的时间段开始依次往前推进的相邻时间段。可选的,所述确定模块包括以下至少之一:第一确定单元,用于确定用于推送通知消息的短信通道的通信能力;第二确定单元,用于确定用于推送通知消息的推送通道的通信能力;第三确定单元,用于确定用于推送通知消息的同步通道的通信能力。可选的,所述确定模块包括:第四确定单元,用于确定所述触达渠道在多个时间段的通信能力,其中,每个时间段的通信能力不同。可选的,所述确定模块包括:第五确定单元,用于确定所述触达渠道的传输路径;选择单元,用于在所述传输路径包括多个传输渠道时,在所述多个传输渠道中选择通信能力最差的指定传输渠道的通信能力作为所述触达渠道的通信能力。可选的,所述装置还包括:控制模块,用于在使用所述触达渠道向接收端推送所述通知消息的过程中,监控实时推送进度,并根据监控结果控制所述通知消息的实时推送速度。可选的,所述控制模块包括:控制单元,用于在监控结果为所述实时推送速度大于或等于预设速度时,保持所述实时推送速度;在监控结果为所述实时推送速度小于所述预设速度时,提高所述实时推送速度。图5是根据本发明实施例的通知消息的推送系统的结构框图,如图5所示,包括:接收端50(图中示意了多个类型的接收端)和服务器52,服务器向接收端推送通知消息,接收端也可以向服务器回复反馈消息。需要说明的是,客户端和服务器仅是方案在执行主体上的差异,上述获取网页数据终端中的各个示例和可选方案同样适应在客户端和服务器中,并产生相同的技术效果。需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。实施例3本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。可选地,在本实施例的一个方面中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:s1,确定用于推送通知消息的触达渠道的通信能力,其中,所述通信能力用于表征所述触达渠道传输所述通知消息的传输速度;s2,根据所述传输速度计算推送任务的触发时刻;s3,在所述触发时刻到达时,使用所述触达渠道向接收端推送所述通知消息。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。可选地,在本实施例的一个方面中,上述处理器可以被设置为通过计算机程序执行以下步骤:s1,确定用于推送通知消息的触达渠道的通信能力,其中,所述通信能力用于表征所述触达渠道传输所述通知消息的传输速度;s2,根据所述传输速度计算推送任务的触发时刻;s3,在所述触发时刻到达时,使用所述触达渠道向接收端推送所述通知消息。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1